git/list[1] front-page[2] threads[3] people[4] search[5] about
 

What's "wrong" with this fast-import?

From
Ccom.git-scm@io7m.com <com.git-scm@io7m.com>
Date
Dec 12, 2015, 19:25 UTC
Message-ID
<20151212192540.4ba49fea@viper.int.arc7.info>
Hello!

I'm trying to track down an issue with the Fossil SCM, specifically the export feature that can produce the fast-import files consumed by Git.

The symptom of the bug seems to be that if a branch B is created from branch A, files committed to B, and then B merged with A, the committed files are not present in the head of A.

As an example:
  http://waste.io7m.com/2015/12/12/fossilexport/
The given test.fossil repository was populated with the following steps:
  1. Create fossil repository.
  2. Add README.txt and commit in trunk.
  3. Create branch 'b0' and switch to it.
  4. Add README-b0.txt and commit in b0.
  5. Switch to trunk.
  6. Merge and commit 'b0'.

The HEAD of the fossil repository now contains README.txt and README-b0.txt.

Exporting the repository (see test.export) produces:

-- blob mark :4 data 7 Hello.

blob mark :10 data 10 Hello b0.

commit refs/heads/trunk mark :3 committer someone <someone> 1449930286 +0000 data 22 initial empty check-in deleteall

commit refs/heads/trunk mark :7 committer someone <someone> 1449930317 +0000 data 7 Initial from :3 M 100644 :4 README.txt

commit refs/heads/b0 mark :9 committer someone <someone> 1449930338 +0000 data 28 Create new branch named "b0" from :7

commit refs/heads/b0 mark :13 committer someone <someone> 1449930374 +0000 data 13 Add README-b0 from :9 M 100644 :10 README-b0.txt

commit refs/heads/trunk mark :15 committer someone <someone> 1449930396 +0000 data 8 Merge b0 from :7 merge :13 --

Importing that into git produces a trunk branch that only contains the file README.txt. Something is evidently being lost in the merge, but it's not clear how.

Does anyone have any idea what Fossil is doing wrong?
M
Next: SZEDER Gábor
Message 1 of 3 in “What's "wrong" with this fast-import?”
  1. com.git-scm@io7m.comDec 12, 2015
  2. SZEDER GáborDec 13, 2015
  3. com.git-scm@io7m.comDec 14, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.