Daniel Näslund wrote on Thu, Sep 02, 2010 at 07:13:00 +0200: > On Wed, Sep 01, 2010 at 06:37:08PM +0100, Julian Foad wrote: > > This may be off topic, but I'm wondering whether Git has defined such > > operations on directories fully or at all, since it doesn't version them > > explicitly. I mean, can you tell the difference between "add empty file > > A" and "add empty dir A"? I could go and look, but haven't time today. > > If yes, great; if it doesn't, we'll have to invent syntax extensions to > > do it. (I'm recalling that the goal of this work is we want Subversion > > diffs to be able to support all valid Subversion changes, and we chose > > Git format as a basis for supporting that. We don't want to constrain > > ourselves to only the operations that Git supports.) > > Not supported at the moment: > > $ svn mkdir X > A X > $ svn status > A X > $ svn diff > $ svn diff --git > $ > > Suggestion: > > $ svn diff --git > Index: empty > =================================================================== > diff --git a/trunk/empty b/trunk/empty > new directory mode 10644
IIRC trailing slashes on "empty/" were suggested on IRC, what was the conclusion about that? > > E.g., just changing the 'new file mode 10644' line to mention directory > instead. Haven't investigate what changes would be needed in the diff > editor. By the way, are we just influenced by Git's format, or are we looking for some degree of interoperability? Consider adding a symlink: [[[ ### with git (in $wcroot/trunk/): diff --git a/trunk/bar b/trunk/bar new file mode 120000 index 0000000..1910281 --- /dev/null +++ b/trunk/bar @@ -0,0 +1 @@ +foo \ No newline at end of file ### with svn (in $wcroot/trunk/): Index: bar =================================================================== diff --git a/trunk/bar b/trunk/bar new file mode 10644 --- /dev/null (revision 0) +++ b/trunk/bar (working copy) @@ -0,0 +1 @@ +link foo \ No newline at end of file Property changes on: trunk/bar ___________________________________________________________________ Added: svn:special ## -0,0 +1 ## +* ]]]