Home
Name Modified Size InfoDownloads / Week
ReleaseNotes 2012-01-26
gitslave-2.0.2.tar.gz 2012-01-26 79.1 kB
README 2012-01-26 10.2 kB
LICENSE.TXT 2012-01-10 17.2 kB
gitslave-2.0.1.tar.gz 2011-03-26 66.3 kB
gitslave-2.0.tar.gz 2011-03-02 60.7 kB
gitslave-1.3.tar.gz 2011-02-05 37.5 kB
gitslave-1.2.tar.gz 2010-12-17 39.2 kB
gitslave-1.1.1.tar.gz 2010-10-29 37.1 kB
gitslave-1.0.0.tar.gz 2010-09-21 33.6 kB
gitslave-0.10.tar.gz 2010-09-17 32.8 kB
Totals: 11 Items   413.7 kB 0
			       Gitslave
			    Release 2.0.2
			      2012-01-25



			     New Features


* gits now has --reference support

Several gits commands (clone, populate, and attach) have been taught
to understand the --reference argument as documented in the git-clone
man page.  Clone and populate adjust the --reference=/path/to/superrepo
argument as normal to provide the correct path to git.  Clone and
populate also take the --referencecheckout=/path/to/superrepo argument
which adjusts the path as if --fromcheckout rules were in effect.

The purpose is to allow avoid lengthy network clones if you have the
bits stored locally in one form or another.  Note that you may wish to
`gits repack -a` as documented in the git-clone man page to remove the
linkage.


* gits attach now supports --adminonly

Even though gits attach --reference avoids doing the majority of the
network transfers, some users still want to "attach in place" or use
an existing git repository which was positioned in the correct
location instead of re-cloning the repository.


* gits release created to remove temporarily unwanted project repositories

Inspired by cvs release, provide a mechanism to delete on-disk
repositories that are not wanted.  Often used with --just-ifpresent
Tries to be safe by checking for several classes of pending changes
but deleting stuff is always risky.

Note that this does not detach the slave repositories from the
superproject.


* gits now understands --rawout

Rawout asks for gitslave to not go though output summarization ("On
repo" and leading spaces) for most gitslave commands.  Note that the
output may currently not be in the same repository order as it was
originally.  Implies --no-hide.  Often used for post-processing output.


* Limited windows support

Multiple users have been successful in using gitslave with Windows.
This is "supported" only in the sense that people have reported it to
work and we accept bugfixes, not that you can `make` install or check,
or that it is QAed on this platform prior to release.



		    Features or Bugs of Minor Note

* gits clone now understands "git clone" output from versions 1.7.7.2
  or greater.

* gits populate now understands --withifpresent

* gits clone/populate now recovers from failed fetch during clone.

* gits can now understand .gitslave files with DOS style line endings

* gits no longer tries to pass -K to less on Windows.

* gits now disables paging for subsidiary git commands, just in case.


			       Gitslave
			    Release 2.0.1
			      2011-03-26



			     New Features


* Now supports git+ssh:// and host:repo style GRLs

Traditionally gitslave has only supported /path/to/repo and URL
(ssh://host/path/to/repo) style Git Resource Locators.  Gitslave has
now been taught about the alternate reference styles.


* gits now has pager support

gits will use less, $PAGER, and $GIT_PAGER hopefully similar to how
native git uses pagers for output.


* gits will not clean directories with .git in them

Replicating recent git functionality, `gits clean -dfx` will not
destroy repositories.  This helps the situation where different
branches have different slave modules attached.



		    Features or Bugs of Minor Note


* gits prepare/clone can now work under an existing gitslave tree

Instead of behaving potentially unexpectedly if you are attempting to
`gits prepare` or clone instead a directory which is already under a
gitslave tree, throw a fatal error (with a way to work around this
problem if you really really want to `gits prepare` (or clone) a newly
created recursive subproject or something like that.


* gits logs now understands the --date option

gits logs tries to summarized commits across all repositories and
aggregate commits about the same topic in multiple repositories.  This
aggressive aggregation means that many log options are not support.
--date is no longer within that group.


* Provide progress support for gits fetch

If you have Term::ProgressBar loaded, certain operations which are
sometimes long will by default provide progress indicators.  Fetch is
now within that group.


* gits populate/checkout will now try to auto-create target branch

If you are on an alternate branch when you attempt to populate or
checkout which will cause a new repository to be checked out into the
superproject, gitslave will now attempt to create a tracking branch
from upstream if it does not exist.


* Support git client versions back to 1.5.x

Through a lack of old git installations to test on, older git versions
had accidentally become broken.  Support has been resurrected, but we
still don't test as a matter of course with back-rev'd git
installations, so a `make check` might be a good idea.


* Protect against git color.ui always

Git colorization can sometimes confuse gitslave when it parses git
output.  Protect against one detected occurrence.


* Protect against subprojects with spaces in the name

This is not full quote protection against arbitrary characters, but
the possibly more common case should be handled better.


----------------------------------------------------------------------
			       Gitslave
			     Release 2.0
			      2011-03-01



			     New Features


* Recursive subprojects

With the use of `gits attach --recursive=.gitslave URL DIRECTORY`
gitslave now fully support recursive subprojects (or slaves which are
themselves gitslave masters of yet more slaves).


* gitslave tutorial created

A tutorial was created which walks the reader through a from-scratch
repository creation using the most popular and needed git commands in
the multi-repository gitslave environment.  The tutorial and overall
gitslave website is now stored as part of gitslave.


* gits pulls more efficient and safer.

Gits pulls perform a pull on all available local branches.  This now should
perform only one fetch (in most cases).  Also --rebase is safer by
using --preserve-merges (in most cases).


* gits now implements paginated output by default, just like git

Pagination is only enabled if standard output is a tty (and there is a
controlling tty for the pager to take input from).  If you do not want
paginated output, the -n or --no-pager option disables it.  All the git
pager configuration settings (GIT_PAGER and PAGER environment variables,
and core.pager configuration setting) are honored.


* gits populate can now request population of specific ifpresent modules





		       Important Bugs Squashed


* Gitslave now supportes .gitignore management when adding a slave in
  a deep directory (gits attach ../foo plugins/foo).

* Gitslave generated .gitignore entries are now more precise.

* Gitslave no longer assumes we cloned onto the master branch.

* Gitslave support --fromcheckout with gits clone.

* Gitslave users can now decline hooks management (--nohooks)




			Critical Upgrade Notes


* The old saved setting of --fromcheckout has been forgotten.  There
  is a new configuration setting in town which will not cause
  confusion when `gits remotes` are used and some remotes have
  --fromcheckout and others are not.  This would only be important if
  someone attached a new repository and people needing --fromcheckout
  did a `gits populate`--in other words pretty unlikely.  Workaround,
  gits update-remote-url --fromcheckout <current URL>.

* Legacy gitslave added .gitignore values cannot be removed when
  subproject removed by detach.  The legacy gitslave entries in
  .gitignore were nonspecific (e.g. <directoryname>) so could match
  undesired files/directories elsewhere.  Gitslave now uses specific
  anchored entries (e.g. /directoryname/), but no method is provided
  to convert them.  This would only be important if someone detached
  an old repository and then replaced it with an embedded directory.
  Workaround, make the entries specific (/directoryname/) or manually
  delete them as needed.



		    Features or Bugs of Minor Note


* Gits resolve now takes optional "remote" name

* Gits update-remote-url now works with --no-master and
  some --exclude arguments.

* Gitslave prints "(last repository path component)" instead of "."
  for the top level repository.

* Gitslave now summarizes branch mismatch warnings.

* gits -v provides full output, -vv provides commands execute,
  -vvvv provide command status and output.

* Summarize last message "On:" header if there are many many entries.

* Gitslave correctly handles directory paths with whitespace in them, and
  will not execute commands in the wrong directory if it cannot chdir



----------------------------------------------------------------------
2011-02-04  Seth Robertson  <projectbaka@baka.org>

	* 1.3 release

	* #include support in .gitslave files

	* gits attach failure detection

	* gits --no-hide to prevent hiding of SHAs

	* Contributed .spec file

2010-12-17  Seth Robertson  <projectbaka@baka.org>

	* Support flags in gits attach (specifically ifpresent).

	* Actually support documented --with-ifpresent argument.

	* Update man page command line flags

2010-12-17  Seth Robertson  <projectbaka@baka.org>

	* Version 1.2 released

	* Add `gits clone` support for easier project initialization.

	* Add `gits detach <directory>` support for easier removal of
          subprojects.

	* Change the default quoting style to fully quote all arguments.
	  Previously, the '$' and '`' characters were not quoted.

	* Add --eval-args to restore the old-style quoting rules.

2010-10-28  Seth Robertson  <projectbaka@baka.org>

	* Version 1.1.1 released

	* Deduplicate output summarizing code.  Provide standard
          mechanism to suppress (and show) empty command output.

2010-10-27  Seth Robertson  <projectbaka@baka.org>

	* Version 1.1.0 released

	* Add support for `gits remote add` to add new remotes for all
	slaves with the correct relative remote URLs.

	* Add support for `gits archive` to generate a unified tarball
	with slave-relative paths.

	* Full (and documented) support for command substitution
	to allow gits-archive, gits-exec, gits-bundle and friends to
	have output files contain repository specific tokens.

2010-09-20  Seth Robertson  <projectbaka@baka.org>

	* Public 1.0 release
Source: README, updated 2012-01-26