Thread (5 messages) flat view 5 messages, 4 authors, 2016-06-15

Re: [RFC/PATCH 0/3] Thinning the git toplevel directory

From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:50:36

Junio C Hamano wrote:
Jonathan Nieder [off-list ref] writes:
quoted
 git://repo.or.cz/git/jrn.git flatten-source
Huh?  Did you mean deepen or unflatten?
The branch name was unflatten-source.  Sorry about that.

I've pushed some more simple tweaks.

 - remove the ".sh" suffix from most build helpers
 - rename scripts/ to build-helpers/.  Much nicer.
 - rename libgit/ to lib/.  The shorter pathnames this allows are much
   nicer.
 - move compat/ under the lib/ umbrella
 - merge builtins/ with commands/.  It never was clear to me why
   making a command builtin should require changing its filename.
 - rename gitk-git/ to gitk/
 - rename t/ to tests/, to get a sense for what that feels like

Some remaining details:
quoted
 - moved the http support mini-library to http/.
I don't understand the motivation behind this---wouldn't it belong to
"libgit/" and if not why not?
They are not linked into the main git binary, to avoid a dependency on
libcurl and libexpat.  So it might (or might not) be useful to keep
them in a subdir to avoid tempting people to use those functions when
not appropriate.

lib/http/, with a README explaining their special status?
quoted
 - renamed git_remote_helpers to python/, though I'm not very happy
   about that.
I am not fond of naming a directory after a language _unless_ the contents
of the directory is _all_ about laying the foundation of something else
that happens to be implemented in that language.
"git remote-testgit" uses it for
 - basic utility functions (die, debug, warn)
 - accessing a git repository and listing its branches (GitRepo)
 - running git fast-export (GitExporter) and keeping a marks file
   between runs
 - running git fast-import (GitImporter) and keeping a marks file
   between runs
 - maintaining a mirror of a non-local git repo (NonLocalGit) to
   be able to run fast-export from it

I am guessing a longer term plan is for it to acquire subpackages with
analagous functionality accessing other version control systems.  It
would be tempting to do

 other-vcs/
	bazaar/
	git/
	mercurial/
	subversion/

(intermixing C and Python code) but that doesn't work because it does
not match the structure of the git_remote_helpers package.

Side note: I am not sure I like the git_remote_helpers name.  Wouldn't
a good goal be for these modules to be usable by other VCSes'
import/export scripts, too?

Thanks for the comments.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help