mirror of
https://github.com/mnauw/git-remote-hg.git
synced 2025-10-30 16:15:48 +01:00
Compare commits
2 Commits
v0.3
...
topic_note
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8f9d2797fd | ||
|
|
822c6e4b03 |
@@ -110,6 +110,12 @@ def get_config_bool(config, default=False):
|
||||
else:
|
||||
return default
|
||||
|
||||
def rev_parse(rev):
|
||||
cmd = ['git', 'rev-parse', '--verify', '-q', rev]
|
||||
process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
|
||||
output, _ = process.communicate()
|
||||
return output
|
||||
|
||||
class Marks:
|
||||
|
||||
def __init__(self, path, repo):
|
||||
@@ -373,10 +379,23 @@ def updatebookmarks(repo, peer):
|
||||
for k, v in remotemarks.iteritems():
|
||||
localmarks[k] = hgbin(v)
|
||||
|
||||
if hasattr(localmarks, 'write'):
|
||||
localmarks.write()
|
||||
if check_version(3, 6):
|
||||
lock = tr = None
|
||||
try:
|
||||
lock = repo.lock()
|
||||
tr = repo.transaction('bookmark')
|
||||
localmarks.recordchange(tr)
|
||||
tr.close()
|
||||
finally:
|
||||
if tr is not None:
|
||||
tr.release()
|
||||
if lock is not None:
|
||||
lock.release()
|
||||
else:
|
||||
bookmarks.write(repo)
|
||||
if hasattr(localmarks, 'write'):
|
||||
localmarks.write()
|
||||
else:
|
||||
bookmarks.write(repo)
|
||||
|
||||
def get_repo(url, alias):
|
||||
global peer
|
||||
@@ -589,8 +608,11 @@ def export_ref(repo, name, kind, head):
|
||||
desc = "Notes for %s\n" % (name)
|
||||
print "data %d" % (len(desc))
|
||||
print desc
|
||||
if marks.last_note:
|
||||
print "from :%u" % marks.last_note
|
||||
# continue incrementally on current notes branch (whenever possible)
|
||||
# to avoid wiping out present content upon fetch of new repo
|
||||
current_note = rev_parse(ref)
|
||||
if current_note:
|
||||
print 'from %s^0' % (ref)
|
||||
|
||||
for rev in pending_revs:
|
||||
notes.add(rev)
|
||||
|
||||
Reference in New Issue
Block a user