You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have used git-remote-hg for pushing changes to Hg based sourceforge project for a long time and all was working correct on old git-remote-hg versions (I've used the script version maintained in separate repo until it was included in your git fork).
Now cloning remote repo works fine, but any push local commits to hg repo ends with something like:
error: Object ��Á�§ê*Žœ\O,K|�ö>å=ÿ� already has a mark
error: Object c�ê��ÍÆa�{ é-Ù����2üÿ� already has a mark
error: Object �=· Û*šV?ÄÔÝ6ÝæwÈ£ÿ� already has a mark
error: Object º�}ª��®�
Steps to reproduce:
mkdir /tmp/t
cd /tmp/t
hg clone http://hg.code.sf.net/p/frontaccounting/mercurial h
git clone hg::h g
cd g
echo bb >> f
git add f
git commit -m 'add bb'
git push
The problems appears regardless I try to push to remote or local Hg repo.
Git version installed is 1.7.9.5, Hg 2.0.2 on ubuntu.
Let me know if you need more information.
The text was updated successfully, but these errors were encountered:
So everything is working fine, it's just that Git is throwing those errors wrongly. If you use a newer version of Git no errors would pop up.
I'm tempted to close this right away, as I don't see what git-remote-hg could do to get rid of that message that is wrong anyway, but you say an older version worked fine. Which version is that?
I found the commit, and I think we are doing the right thing, so I'm closing this.
However, if you want to fix this case for you, try this patch
--- a/contrib/remote-helpers/git-remote-hg+++ b/contrib/remote-helpers/git-remote-hg@@ -23,6 +23,7 @@ import subprocess
import urllib
import atexit
import urlparse
+import hashlib
#
# If you want to switch to hg-git compatibility mode:
@@ -227,14 +228,14 @@ def export_files(files):
final = []
for f in files:
- fid = node.hex(f.filenode())+ d = f.data()+ fid = hashlib.sha1(d).digest()
if fid in filenodes:
mark = filenodes[fid]
else:
mark = marks.next_mark()
filenodes[fid] = mark
- d = f.data()
print "blob"
print "mark :%u" % mark
AFAIK, this version would perform slower in most repositories, so that's why it's not enabled.
Yes, you are right, it is probably git version related issue. Now having the patch applied I can see there is another problem which was hidden by the error messages. I will describe it in another ticket.
FYI the working git-remote-hg version was installed on my box in January (I don't know the exact version).
Janusz
I have used git-remote-hg for pushing changes to Hg based sourceforge project for a long time and all was working correct on old git-remote-hg versions (I've used the script version maintained in separate repo until it was included in your git fork).
Now cloning remote repo works fine, but any push local commits to hg repo ends with something like:
Steps to reproduce:
The problems appears regardless I try to push to remote or local Hg repo.
Git version installed is 1.7.9.5, Hg 2.0.2 on ubuntu.
Let me know if you need more information.
The text was updated successfully, but these errors were encountered: