Skip to contentSkip to conversation

git fast-import --export-marks flag

DISCUSSION [email protected] 2 participants 4 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

Hi,

git fast-import --export-marks is able to export to a file the marks and its associated commit hashes created during import.

So far I've seen the marks are not the ones provided in the input but some "internal ones" not related with the input.

Wouldn't it be much better, for import/export interop, if it kept the original marks?

It would be certainly easier to do incremental import/export with external systems not dealing with SHAs...

Thanks,

pablo

#1 lore raw
Quoted 11 lines · On Mon, Mar 28, 2011 at 09:16, [email protected]…

git fast-import --export-marks is able to export to a file the marks and its associated commit hashes created during import.

So far I've seen the marks are not the ones provided in the input but some "internal ones" not related with the input.

Wouldn't it be much better, for import/export interop, if it kept the original marks?

It would be certainly easier to do incremental import/export with external systems not dealing with SHAs...

I don't know what you are looking at, but fast-import uses the same mark numbers that were supplied in the input stream inside of the exported marks file. Otherwise as you pointed out, the marks are useless.

Signature · 1 line
Shawn.
#2 lore raw

Hi Shawn,

Quoted 4 lines

I don't know what you are looking at, but fast-import uses the same mark numbers that were supplied in the input stream inside of the exported marks file. Otherwise as you pointed out, the marks are useless.

Well, they're useful to run subsequent imports reusing the marks generated on the first import.

But ok, it seems my marks are "overflowing":

Quoted 1 line

cat fast-export.dat

blob
mark :1
data 7
bar.c

blob
mark :2
data 7
foo.c

reset refs/heads/master
commit refs/heads/master
mark :1583217
author unknown <pablo@.(none)> 1300813103 +0100 committer unknown <pablo@.(none)> 1300813103 +0100 data 8
initial
M 100644 :1 src/bar.c
M 100644 :2 src/foo.c

commit refs/heads/master
mark :1583219
author unknown <pablo@.(none)> 1300813115 +0100 committer unknown <pablo@.(none)> 1300813115 +0100 data 5
move
from :1583217
R "src/bar.c" "dst/bar.c"
R "src/foo.c" "dst/foo.c"

reset refs/heads/master
from :1583219

And the generated marks are:

:1 d1fe62248992d88f286d03bde972932e0118bf3c :2 146a766f34eb1dfb6c4d7b19a45ddf49ef7e5d5b :1074276465 52f475aba140ca2d6f6eb8f47ef0cdb9d043fab5 :1074276467 caf606bb7cc64bab818acbc52b40d545467ddafc

pablo

#3 lore raw

It's working on 1.7, was broken on 1.6

Thanks,

pablo

Quoted 55 lines · On 28/03/2011 18:48, [email protected] wrote:

Hi Shawn,

Quoted 4 lines

I don't know what you are looking at, but fast-import uses the same mark numbers that were supplied in the input stream inside of the exported marks file. Otherwise as you pointed out, the marks are useless.

Well, they're useful to run subsequent imports reusing the marks generated on the first import.

But ok, it seems my marks are "overflowing":

Quoted 1 line

cat fast-export.dat

blob
mark :1
data 7
bar.c

blob
mark :2
data 7
foo.c

reset refs/heads/master
commit refs/heads/master
mark :1583217
author unknown <pablo@.(none)> 1300813103 +0100 committer unknown <pablo@.(none)> 1300813103 +0100 data 8
initial
M 100644 :1 src/bar.c
M 100644 :2 src/foo.c

commit refs/heads/master
mark :1583219
author unknown <pablo@.(none)> 1300813115 +0100 committer unknown <pablo@.(none)> 1300813115 +0100 data 5
move
from :1583217
R "src/bar.c" "dst/bar.c"
R "src/foo.c" "dst/foo.c"

reset refs/heads/master
from :1583219

And the generated marks are:

:1 d1fe62248992d88f286d03bde972932e0118bf3c :2 146a766f34eb1dfb6c4d7b19a45ddf49ef7e5d5b :1074276465 52f475aba140ca2d6f6eb8f47ef0cdb9d043fab5 :1074276467 caf606bb7cc64bab818acbc52b40d545467ddafc

pablo