mirror of
https://github.com/mnauw/git-remote-hg.git
synced 2025-11-01 00:55: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:
|
else:
|
||||||
return default
|
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:
|
class Marks:
|
||||||
|
|
||||||
def __init__(self, path, repo):
|
def __init__(self, path, repo):
|
||||||
@@ -373,6 +379,19 @@ def updatebookmarks(repo, peer):
|
|||||||
for k, v in remotemarks.iteritems():
|
for k, v in remotemarks.iteritems():
|
||||||
localmarks[k] = hgbin(v)
|
localmarks[k] = hgbin(v)
|
||||||
|
|
||||||
|
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:
|
||||||
if hasattr(localmarks, 'write'):
|
if hasattr(localmarks, 'write'):
|
||||||
localmarks.write()
|
localmarks.write()
|
||||||
else:
|
else:
|
||||||
@@ -589,8 +608,11 @@ def export_ref(repo, name, kind, head):
|
|||||||
desc = "Notes for %s\n" % (name)
|
desc = "Notes for %s\n" % (name)
|
||||||
print "data %d" % (len(desc))
|
print "data %d" % (len(desc))
|
||||||
print desc
|
print desc
|
||||||
if marks.last_note:
|
# continue incrementally on current notes branch (whenever possible)
|
||||||
print "from :%u" % marks.last_note
|
# 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:
|
for rev in pending_revs:
|
||||||
notes.add(rev)
|
notes.add(rev)
|
||||||
|
|||||||
Reference in New Issue
Block a user