From: Johan Herland <johan@herland.net>
To: "Shawn O. Pearce" <spearce@spearce.org>
Cc: git@vger.kernel.org, barkalow@iabervon.org, gitster@pobox.com
Subject: Re: [RFC 06/11] Add support for mark references as path names
Date: Mon, 27 Jul 2009 20:26:45 +0200 [thread overview]
Message-ID: <200907272026.46150.johan@herland.net> (raw)
In-Reply-To: <20090727141200.GJ11191@spearce.org>
On Monday 27 July 2009, Shawn O. Pearce wrote:
> Johan Herland <johan@herland.net> wrote:
> > When using a mark reference as a path name, the mark reference will
> > be expanded to the 40-byte hex version of the object name
> > associated with the mark. This is useful e.g. when importing notes
> > objects (where the filenames in a notes tree are the object names
> > of the annotated objects).
> >
> > [...cut...]
>
> I'm worried about changing the path rules here. Previously writing
> a path as :1 was legal and produced a file named ":1" in the top
> level directory of the repository. Now it will create a file that
> matches a mark.
>
> I think you need to find another back door, something that the
> language wouldn't have considered as valid previously.
Ok. One (moderately hideous) option is to introduce new commands m/d/r/c
that works just like M/D/R/C, except that they also expand mark
references (leaving M/D/R/C with the old behaviour). I don't know how
you'd feel about that...
However, I'm also pondering Dscho's idea of organizing note trees into
hierarchies (to limit #entries in tree objects), and (although I have
yet to try to implement this) it feels like this transformation should
be done in the notes.c code, which means that it must happen on
the "git side" of fast-import (at least the transformation should not
happen on the "external side" of fast-import). This ultimately means
that we cannot handle notes as "regular" trees and commits (which is
what I'm trying to do with the help of this patch), and suggests that
instead of using 'commit' with 'M' for adding notes, we should probably
have a dedicated 'note' fast-import command that collects note objects,
and does the tree transformation and subsequent commit upon
checkpoint/exit.
Have fun! :)
...Johan
--
Johan Herland, <johan@herland.net>
www.herland.net
next prev parent reply other threads:[~2009-07-27 18:27 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-27 1:04 [RFC 00/11] Foreign VCS helper program for CVS repositories Johan Herland
2009-07-27 1:04 ` [RFC 01/11] Add specification of git-vcs-* helper programs Johan Herland
2009-07-27 1:04 ` [RFC 02/11] Use a function to determine whether a remote is valid Johan Herland
2009-07-27 1:04 ` [RFC 03/11] Allow programs to not depend on remotes having urls Johan Herland
2009-07-27 18:55 ` Junio C Hamano
2009-07-27 19:33 ` Daniel Barkalow
2009-07-29 8:57 ` Alex Riesen
2009-07-30 0:24 ` Johan Herland
2009-07-27 1:04 ` [RFC 04/11] Add a transport implementation using git-vcs-* helpers Johan Herland
2009-07-27 1:04 ` [RFC 05/11] Refactor path name parsing into new function: get_path_str() Johan Herland
2009-07-27 1:04 ` [RFC 06/11] Add support for mark references as path names Johan Herland
2009-07-27 14:12 ` Shawn O. Pearce
2009-07-27 18:26 ` Johan Herland [this message]
2009-07-27 18:35 ` Shawn O. Pearce
2009-07-28 1:43 ` [RFC 06/11 v2] fast-import: Add support for importing commit notes Johan Herland
2009-07-29 2:18 ` Junio C Hamano
2009-07-29 2:41 ` Johan Herland
2009-07-29 14:26 ` Shawn O. Pearce
2009-07-29 16:20 ` Junio C Hamano
2009-07-30 0:29 ` Johan Herland
2009-07-30 2:35 ` Junio C Hamano
2009-07-29 18:56 ` Junio C Hamano
2009-07-29 23:08 ` Johan Herland
2009-07-27 1:04 ` [RFC 07/11] Preliminary clarifications to git-vcs documentation Johan Herland
2009-07-27 1:04 ` [RFC 08/11] Teach foreign transport code to perform the "capabilities" command Johan Herland
2009-07-27 1:04 ` [RFC 09/11] Introduce a 'marks <filename>' feature to the foreign transport code Johan Herland
2009-07-27 1:04 ` [RFC 11/11] Add simple test cases of git-vcs-cvs functionality Johan Herland
2009-07-27 17:27 ` [RFC 00/11] Foreign VCS helper program for CVS repositories Daniel Barkalow
2009-07-27 18:11 ` Johan Herland
2009-07-27 18:58 ` Daniel Barkalow
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200907272026.46150.johan@herland.net \
--to=johan@herland.net \
--cc=barkalow@iabervon.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).