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

Re: [PATCH 4/5] git-svn: fix bottleneck in stash_placeholder_list()

From
Junio C Hamano <gitster@pobox.com>
Date
May 1, 2013, 21:53 UTC
Message-ID
<7v1u9q5pu5.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20130501213031.GA13056@dcvr.yhbt.net>
Eric Wong <normalperson@yhbt.net> writes:
Show 12 quoted lines
> Ilya Basin <basinilya@gmail.com> wrote:
>> JCH> comment line "# added by git-svn only to keep the directory" and
>> JCH> consider a directory that has nothing but .gitignore that consists
>> JCH> of only that exact comment line an "added placeholder" directory to
>> JCH> work it around.
>> Sounds good, but it's not I who decided to use the config file.
>
> Ugh, I didn't review Ray's original commit closely enough to notice
> this :x
>
> Perhaps we should migrate users to use YAML storage for this, instead
> (we already use YAML for Git::SVN::Memoize::YAML).

But does it solve the impedance mismatch between "per tree" information and "per project" information? Unless you key the information not just with path but also with revision or tree object name, use of YAML vs config would not make a difference in the semantics, I am afraid.

I am reading the placeholder-added flag as: "This .gitignore file does not exist in the Subversion original; it is there only so that we can keep the otherwise empty diretory in the checkout, and it should not be pushed back to the Subversion side". Am I mistaken?

That however is not a property of the directory containing it (or the path to that .gitignore file) that is valid throughout the history of the project. It is a property of a specific tree object (or you could say it is a property of the revision). When at some point in the history the upstream project adds .gitignore there because many people use git-svn to contribute to their project, it stops to be "should not be pushed back".

So it seems to me that the information this "placeholder added" thing wants to express belongs to the tree object (and .gitignore file itself is a natural place to have that information).

Show 5 quoted lines
> Fwiw, I've never been a fan of placeholders only accepted it since it's
> off-by-default but it worked well enough for Ray.
>
> My personal philosophy has always been: git svn users should leave
> no trace or indication they're using a non-standard SVN client.
Previous: Eric WongNext: Eric Wong
Message 6 of 18 in “Re: [PATCH 4/5] git-svn: fix bottleneck in stash_placeholder_list()”
  1. Ilya BasinMay 1, 2013
  2. Re[2]: [PATCH 4/5] git-svn: fix bottleneck in stash_placeholder_list()Ilya Basin, May 1, 2013
  3. Junio C HamanoMay 1, 2013
  4. Re[2]: [PATCH 4/5] git-svn: fix bottleneck in stash_placeholder_list()Ilya Basin, May 1, 2013
  5. Eric WongMay 1, 2013
  6. Junio C HamanoMay 1, 2013
  7. Eric WongMay 2, 2013
  8. Re[2]: [PATCH 4/5] git-svn: fix bottleneck in stash_placeholder_list()Ilya Basin, May 2, 2013
  9. Eric WongMay 2, 2013
  10. Re[2]: [PATCH 4/5] git-svn: fix bottleneck in stash_placeholder_list()Ilya Basin, May 3, 2013
  11. Re[3]: [PATCH 4/5] git-svn: fix bottleneck in stash_placeholder_list()Ilya Basin, May 3, 2013
  12. Re[4]: [PATCH 4/5] git-svn: fix bottleneck in stash_placeholder_list()Ilya Basin, May 6, 2013
  13. Re[3]: [PATCH 4/5] git-svn: fix bottleneck in stash_placeholder_list()Ilya Basin, May 6, 2013
  14. Eric WongMay 9, 2013
  15. Re[4]: [PATCH 4/5] git-svn: fix bottleneck in stash_placeholder_list()Ilya Basin, May 28, 2013
  16. Ray ChenMay 2, 2013
  17. Re[2]: [PATCH 4/5] git-svn: fix bottleneck in stash_placeholder_list()Ilya Basin, May 2, 2013
  18. Eric WongMay 2, 2013

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.