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

Re: fast-import issues with monotone

From
Shawn O. Pearce <spearce@spearce.org>
Date
Sep 8, 2008, 22:36 UTC
Message-ID
<20080908223601.GB14448@spearce.org>
In-Reply-To
<94a0d4530809081530p60ff8692qbf9c314516d03869@mail.gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> wrote:
> I'm stuck with yet another issue while trying to export a mtn
> repository, so I thought on sharing the list of issues:
> 
> a) directory rename/deletes are indistinguishable from files
Hmm.  I had thought fast-import allowed you to rename or delete a
directory by just name its path.  Internally it should be cascading
those operations to all of the contained children.
 
Show 6 quoted lines
> b) file mode changes are just like any other operation (you don't get
> the mode at each revision)
> 
> This means the file mode needs to be tracked all the time. Also, it
> means the file contents (blob) needs to be tracked because sometimes
> the only change in the file is the mode.

Ow. I could see a special case being introduced into the language as placeholders for the fields, telling gfi not to replace the data if it is already present. Probably not even a very difficult patch to add. E.g. make "-" a placeholder for both mode and content SHA-1/mark.

> For these two issues the only viable solution is to keep track of the
> whole tree of each revision. Does it makes sense to do that? Or would
> it make more sense to modify fast-import to allow more delta-oriented
> operations?

Most frontends do keep track of everything. The CVS->Git and CVS->SVNish->Git keep track of everything just so they can order things across files to form commits/changesets.

-- 
Shawn.
Previous: Felipe ContrerasNext: Felipe Contreras
Message 2 of 3 in “fast-import issues with monotone”
  1. Felipe ContrerasSep 8, 2008
  2. Shawn O. PearceSep 8, 2008
  3. Felipe ContrerasSep 8, 2008

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.