|
Posted
over 17 years
ago
by
Junio C Hamano
The last rc before the final, 1.6.0-rc3, can be found at the usual places:
http://www.kernel.org/pub/software/scm/git/
git-1.6.0.rc3.tar.{gz,bz2} (source tarball)
git-htmldocs-1.6.0.rc3.tar.{gz,bz2} (preformatted docs)
... [More]
git-manpages-1.6.0.rc3.tar.{gz,bz2} (preformatted docs)
The RPM binary packages for a few architectures are also provided
as courtesy.
testing/git-*-1.6.0.rc3-1.fc9.$arch.rpm (RPM)
Hopefully the real 1.6.0 will appear over the weekend.
----------------------------------------------------------------
Changes since v1.6.0-rc2 are as follows:
Brandon Casey (2):
Makefile: set SHELL to value of SHELL_PATH
Makefile: add a target which will abort compilation with ancient shells
Eric Wong (2):
git-svn: add ability to specify --commit-url for dcommit
git-svn: wrap long lines in a few places
Francis Moreau (1):
git-bisect: fix wrong usage of read(1)
Gustaf Hendeby (2):
gitattributes: Document built in hunk header patterns
Teach git diff about BibTeX head hunk patterns
Ivan Stankovic (1):
Documentation: fix invalid reference to 'mybranch' in user manual
Johannes Schindelin (1):
clone --mirror: avoid storing repeated tags
Jonathan Nieder (1):
Documentation: user-manual: "git commit -a" doesn't motivate .gitignore
Junio C Hamano (9):
asciidoc markup fixes
GIT-VERSION-GEN: mark the version 'dirty' only if there are modified files
mailinfo: fix MIME multi-part message boundary handling
Update draft RelNotes for 1.6.0
Fix deleting reflog entries from HEAD reflog
Re-fix rev-list-options documentation
diff --check: do not unconditionally complain about trailing empty lines
Do not talk about "diff" in rev-list documentation.
GIT 1.6.0-rc3
Marcus Griep (5):
Fix multi-glob assertion in git-svn
git-svn: Allow deep branch names by supporting multi-globs
Git.pm: Add faculties to allow temp files to be cached
git-svn: Make it incrementally faster by minimizing temp files
git-svn: Reduce temp file usage when dealing with non-links
Nguyễn Thái Ngọc Duy (1):
Fix typo in comments of longest_ancestor_length()
Petr Baudis (2):
Fail properly when cloning from invalid HTTP URL
Adjust for the new way of enabling the default post-update hook
Pieter de Bie (2):
builtin-rm: Add a --force flag
reflog test: add more tests for 'reflog delete'
SZEDER Gábor (1):
bash: remove redundant check for 'git stash apply' options
Stephen R. van den Berg (1):
git-daemon: SysV needs the signal handler reinstated.
Thomas Rast (6):
Documentation: commit-tree: remove 16 parents restriction
Documentation: filter-branch: document how to filter all refs
filter-branch: be more helpful when an annotated tag changes
Documentation: rev-list-options: Fix -g paragraph formatting
Documentation: rev-list-options: Fix a typo
Documentation: rev-list-options: Rewrite simplification descriptions for clarity
[Less]
|
|
Posted
over 17 years
ago
by
Petr Baudis
Hi!
This is v0.2 of TopGit; we are steady on our way to v1.0! ;-)
TopGit is meant as a fresh start in the steps of StGIT, quilt-in-git
and others, of course in an attempt to Get It Right this time around.
TopGit is absolutely minimal porcelain
... [More]
layer that will manage your
patch queue for you using topic branches, one patch per branch,
never rewriting the history in order to enable fully distributed
workflow. You can get TopGit at
http://repo.or.cz/w/topgit.git
and read up on its design, usage and implementation at:
http://repo.or.cz/w/topgit.git?a=blob;f=README
This version features changed usage of tg create, new tg export command
that can export your patch queue either to a Git branch or Quilt series,
a huge amount of bugfixes, and improved documentation infrastructure.
Thanks go to Bert Wesarg, Russel Steicke and Antonio Ospite for their
patches - please keep them coming - and to martin f. krafft for
the testing, ideas and presentation to fellow Debian packagers.
Antonio Ospite (1):
tg.sh: Add -h, --help aliases for the help command
Bert Wesarg (7):
tg-create.sh: fix help string
tg-create.sh: Introduce topgit.subjectprefix config option
tg-info: pretty print dependencies
tg.sh: Runtime tg-* command check
tg.sh: Check for read permissions of help files
Makefile: mkdir $(bindir)
tg.sh: it's info/attributes not info/gitattributes
Petr Baudis (33):
README: Fix synopsis of resuming tg create
README: Two TODOs for tg summary
README: TODO for tg depend
README: TODO for tg tidy
tg.sh: setup_hook(): Test existence instead of -x
tg-info.sh: Fix list of >1 dependencies
tg-patch.sh: Bring deplist format in sync with tg info
tg-info.sh: Show missing dependencies (needs_update() enhancement)
tg-update.sh: Abort on missing dependencies
needs_update(): Return non-zero if update is required
tg-summary.sh: Mark branches with missing dependencies by '\!'
tg-summary.sh: Fix nonempty indicator misalignment
tg-summary.sh: Clean up printing status columns
README: TODO tg tidy -> tg collapse
tg-create.sh: Change usage (-d -> arguments)
README: Mark future tg patch features as TODO clearly
tg-create.sh: Introduce topgit.{to,cc,bcc} config options
needs_update(): Fix $missing_deps passing
tg-create.sh: Pre-fill [PATCH] line with patch name
create-help.sh: Fix 'tg update' generated help text
needs_update(): Split to recurse_deps() and branch_needs_update() helpers
recurse_deps(): _-prefix $depsfile
measure_branch(): Use _bname instead of _name local variable
branch_needs_update(): Fox branch_contains call: $1 -> $_name
recurse_deps(): Call itself, not needs_update(), recursively
tg-export: New command for cleaning up history
tg.sh: Avoid use of non-SUS 'echo -e'
README: tg collapse is already implemented (as tg export)
tg export: Really remove TopGit metadata files when exporting
tg update: Do not use ${:n:m} substitution (bash extension)
tg export: Support --quilt for exporting to quilt series
tg export: Print progress messages _before_ the action
TopGit-0.2
Russell Steicke (3):
Check for pre-commit hook existence.
Make "tg help cmd" print cmd help
Pretty print the help creation commands in Makefile.
Have fun,
--
Petr "Pasky" Baudis
The next generation of interesting software will be done
on the Macintosh, not the IBM PC. -- Bill Gates
[Less]
|
|
Posted
over 17 years
ago
by
Junio C Hamano
GIT 1.6.0-rc2 is the second (or should we call it the third?) preview of
the upcoming release. It is available at the usual places:
http://www.kernel.org/pub/software/scm/git/
git-1.6.0-rc2.tar.{gz,bz2} (source tarball)
... [More]
git-htmldocs-1.6.0-rc2.tar.{gz,bz2} (preformatted docs)
git-manpages-1.6.0-rc2.tar.{gz,bz2} (preformatted docs)
The RPM binary packages for a few architectures are also provided
as courtesy.
testing/RPMS/$arch/*-1.6.0.rc2-1.fc9.$arch.rpm (RPM)
----------------------------------------------------------------
Changes since v1.6.0-rc1 are as follows:
Abhijit Menon-Sen (7):
`git submodule add` now requires a
Make it clear that push can take multiple refspecs
Make the DESCRIPTION match ... items in the SYNOPSIS
Git.pm: localise $? in command_close_bidi_pipe()
Fix hash slice syntax error
Fix typo in perl/Git.pm
Fix typos in INSTALL
Alex Riesen (1):
Make use of stat.ctime configurable
Alexander Gavrilov (9):
git-gui: Fix the Remote menu separator.
git-gui: Preserve scroll position on reshow_diff.
Support copy and rename detection in fast-export.
gitk: Kill back-end processes on window close
gitk: Arrange to kill diff-files & diff-index on quit
gitk: On Windows, use a Cygwin-specific flag for kill
gitk: Fixed broken exception handling in diff
gitk: Fixed automatic row selection during load
gitk: Fallback to selecting the head commit upon load
Anders Melchiorsen (4):
Advertise the ability to abort a commit
Documentation: fix diff.external example
Flush output in start_async
Add output flushing before fork()
Avery Pennarun (2):
Teach "git diff -p" Pascal/Delphi funcname pattern
git-svn: Abort with an error if 'fetch' parameter is invalid.
Brandon Casey (3):
t/t4202-log.sh: add newline at end of file
Teach fsck and prune that tmp_obj_ file names may not be 14 bytes long
perl/Makefile: handle paths with spaces in the NO_PERL_MAKEMAKER section
Brian Gernhardt (1):
Documentation: Remove mentions of git-svnimport.
Cesar Eduardo Barros (1):
Documentation/git-rev-parse.txt: update for new git-describe output format
Christian Couder (2):
merge-base: die with an error message if not passed a commit ref
documentation: user-manual: update "using-bisect" section
Christian Stimming (2):
git-gui: Update German translation
gitk: Updated German translation
Ciaran McCreesh (1):
Make git-add -i accept ranges like 7-
David D. Kilzer (1):
Fix race condition in t9119-git-svn-info.sh
Dmitry Potapov (1):
correct access right for git-svn-dcommit test
Eric Wong (2):
git-svn: properly set path for "info" command
t9119: conditionally re-enable test depending on svn(1) version
Giuseppe Bilotta (2):
diff: add ruby funcname pattern
diff: chapter and part in funcname for tex
Jeff King (3):
init: handle empty "template" parameter
Compact commit template message
init: handle empty "template" parameter
Jim Meyering (1):
git-cvsimport.perl: Print "UNKNOWN LINE..." on stderr, not stdout.
Johannes Schindelin (3):
sort_in_topological_order(): avoid setting a commit flag
clone: Add an option to set up a mirror
clone --bare: Add ".git" suffix to the directory name to clone into
Johannes Sixt (1):
git-gui: Adapt discovery of oguilib to execdir 'libexec/git-core'
Jon Jensen (1):
Fix reference to Everyday Git, which is an HTML document and not a man page.
Jonathan Nieder (1):
git-diff(1): "--c" -> "--cc" typo fix
Junio C Hamano (19):
Allow building without any git installed
Allow installing in the traditional way
ls-tree documentation: enhance notes on subdirectory and pathspec behaviour
Documentation: clarify what is shown in "git-ls-files -s" output
t7001: fix "git mv" test
Teach gitlinks to ie_modified() and ce_modified_check_fs()
Fix merge name generation in "merge in C"
Fix test-parse-options "integer" test
Teach --find-copies-harder to "git blame"
make sure parsed wildcard refspec ends with slash
Documentation: clarify diff --cc
Update my e-mail address
Start 1.5.6.5 RelNotes to describe accumulated fixes
builtin-name-rev.c: split deeply nested part from the main function
RelNotes 1.5.6.5 updates
fix diff-tree --stdin documentation
Files given on the command line are relative to $cwd
GIT 1.5.6.5
GIT 1.6.0-rc2
Kevin Ballard (1):
format-patch: Produce better output with --inline or --attach
Lee Marlow (11):
bash completion: remove unused function _git_diff_tree
bash completion: Add more long options for 'git log'
bash completion: Add completion for 'git grep'
bash completion: Add completion for 'git clone'
bash completion: Add completion for 'git clean'
bash completion: Add completion for 'git init'
bash completion: Add completion for 'git revert'
bash completion: More completions for 'git stash'
bash completion: Add completion for 'git archive'
bash completion: Add completion for 'git ls-files'
bash completion: Add completion for 'git mv'
Linus Torvalds (1):
diff.renamelimit is a basic diff configuration
Michele Ballabio (2):
git-gui: update po/it.po
git-gui: add a part about format strings in po/README
Mikael Magnusson (2):
git-gui: Update swedish translation.
gitk: Update swedish translation.
Mike Ralphson (2):
Documentation: typos / spelling fixes in older RelNotes
Documentation: typos / spelling fixes
Nanako Shiraishi (1):
git-gui: update Japanese translation
Olivier Marin (1):
builtin-verify-tag: fix -v option parsing
Pierre Habouzit (2):
Allow "non-option" revision options in parse_option-enabled commands
git-submodule: move ill placed shift.
Pieter de Bie (1):
git-name-rev: allow --name-only in combination with --stdin
René Scharfe (2):
archive: allow --exec and --remote without equal sign
git-name-rev: don't use printf without format
Shawn O. Pearce (2):
git-gui: Fix gitk search in $PATH to work on Windows
git-gui: Update git-gui.pot for 0.11 nearing release
Steffen Prohaska (6):
Refactor, adding prepare_git_cmd(const char **argv)
run-command (Windows): Run dashless "git "
git-gui: Correct installation of library to be $prefix/share
git-gui (Windows): Switch to relative discovery of oguilib
git-gui (Windows): Change wrapper to execdir 'libexec/git-core'
Modify mingw_main() workaround to avoid link errors
Stephan Beyer (1):
builtin-revert.c: typofix
Steve Haslam (1):
Propagate -u/--upload-pack option of "git clone" to transport.
Steven Grimm (1):
Optimize sha1_object_info for loose objects, not concurrent repacks
Todd Zullinger (1):
Replace uses of "git-var" with "git var"
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html [Less]
|
|
Posted
over 17 years
ago
by
Junio C Hamano
The latest maintenance release GIT 1.5.6.5 is available at the
usual places:
http://www.kernel.org/pub/software/scm/git/
git-1.5.6.5.tar.{gz,bz2} (source tarball)
git-htmldocs-1.5.6.5.tar.{gz,bz2} (preformatted docs)
... [More]
git-manpages-1.5.6.5.tar.{gz,bz2} (preformatted docs)
The RPM binary packages for a few architectures are also provided
as courtesy.
RPMS/$arch/git-*-1.5.6.5-1.fc9.$arch.rpm (RPM)
GIT v1.5.6.5 Release Notes
==========================
Fixes since v1.5.6.4
--------------------
* "git cvsimport" used to spit out "UNKNOWN LINE..." diagnostics to stdout.
* "git commit -F filename" and "git tag -F filename" run from subdirectories
did not read the right file.
* "git init --template=" with blank "template" parameter linked files
under root directories to .git, which was a total nonsense. Instead, it
means "I do not want to use anything from the template directory".
* "git diff-tree" and other diff plumbing ignored diff.renamelimit configuration
variable when the user explicitly asked for rename detection.
* "git name-rev --name-only" did not work when "--stdin" option was in effect.
* "git show-branch" mishandled its 8th branch.
* Addition of "git update-index --ignore-submodules" that happened during
1.5.6 cycle broke "git update-index --ignore-missing".
* "git send-email" did not parse charset from an existing Content-type:
header properly.
Contains other various documentation fixes.
----------------------------------------------------------------
Changes since v1.5.6.4 are as follows:
Anders Melchiorsen (1):
Documentation: fix diff.external example
Björn Steinbrink (1):
index-pack.c: correctly initialize appended objects
Brandon Casey (1):
t/t4202-log.sh: add newline at end of file
Ciaran McCreesh (1):
Make git-add -i accept ranges like 7-
Jeff King (1):
init: handle empty "template" parameter
Jim Meyering (1):
git-cvsimport.perl: Print "UNKNOWN LINE..." on stderr, not stdout.
Johannes Schindelin (1):
sort_in_topological_order(): avoid setting a commit flag
Jonathan Nieder (2):
fix usage string for git grep
git-diff(1): "--c" -> "--cc" typo fix
Junio C Hamano (12):
refresh-index: fix bitmask assignment
tests: propagate $(TAR) down from the toplevel Makefile
Makefile: fix shell quoting
make sure parsed wildcard refspec ends with slash
Documentation: clarify diff --cc
Update my e-mail address
Start 1.5.6.5 RelNotes to describe accumulated fixes
builtin-name-rev.c: split deeply nested part from the main function
RelNotes 1.5.6.5 updates
fix diff-tree --stdin documentation
Files given on the command line are relative to $cwd
GIT 1.5.6.5
Linus Torvalds (1):
diff.renamelimit is a basic diff configuration
Mike Ralphson (1):
Documentation: typos / spelling fixes in older RelNotes
Peter Valdemar Mørch (1):
send-email: find body-encoding correctly
Pierre Habouzit (2):
git-checkout: fix command line parsing.
git-submodule: move ill placed shift.
Pieter de Bie (1):
git-name-rev: allow --name-only in combination with --stdin
René Scharfe (1):
git-name-rev: don't use printf without format
Stephan Beyer (1):
builtin-revert.c: typofix
Steve Haslam (1):
Propagate -u/--upload-pack option of "git clone" to transport.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html [Less]
|
|
Posted
over 17 years
ago
by
Petr Baudis
Hi,
I'd like to announce TopGit v0.1, the first (while also the youngest)
project from my Rhine pipeline (sitting at the river shore, hacking
free of all online distractions; the only catch is that the offline
distractions can be plentiful as well
... [More]
- too many pretty girls tend
to cluster around the water in the hot summer days for some strange
reason.)
TopGit is meant as a fresh start in the steps of StGIT, quilt-in-git
and others, of course in an attempt to Get It Right this time around.
TopGit is absolutely minimal porcelain layer that will manage your
patch queue for you using topic branches, one patch per branch.
And do _ONLY_ that. Unlike with StGIT, you can actually use the index.
TopGit aims to scratch three of my long-term patch management itches:
(i) Let you freely specify patch dependencies, instead of
forcing you to linearize your patches into a series
(ii) Keep your development history rigorously - it is to be
cleaned up only once, and that is when submitted upstream
(iii) Actually _WORK_ in the distributed environment;
you can have several repositories and develop your patches
in all of them
You can get TopGit at
http://repo.or.cz/w/topgit.git
and read up on its design, usage and implementation at:
http://repo.or.cz/w/topgit.git?a=blob;f=README
This is v0.1. I started working on it last evening (by spending over
two hours writing the README from scratch up to pretty much its current
state), got it feature complete few hours ago and testing it out the
rest of the evening. So yes, it probably still has some bugs, but it
should be ready for general practical usage, so please give it a try.
I just recreated
http://repo.or.cz/w/git/gitweb.git
with it and plan to use it pretty much exclusively for all my Git
patches from now on (and it turns out there is quite a few, I just had
no good way to organize and submit them so far).
Besides that, some utility commands are still missing, some of them
are TODO'd in the README. Most notably, the distributed workflow still
has no explicit support within TopGit which makes it a little awkward,
and there is actually no way to mail your patches yet ;-) - tg patch
will only dump a single one on stdout and you need to do the rest.
TopGit is not very well optimized so far; I made little to no
benchmarks and I'm focused on getting things work right first. Still,
I believe that most operations should not take noticeably long until
you get into many tens of densely dependent patches. One exception
is 'tg summary', which is unfortunately dog-slow and I couldn't
figure out how to speed it up further so far.
P.S.: git/gitweb.git is mentioned here just as an example of
real-world TopGit usage; ignore the contents. I actually do intend
to revive this repository, but there's still a lot of work to do.
P.P.S.: Can I get trademark on the (ironically) /[^p]g/ porcelains
now? ;-)
Have fun,
--
Petr "Pasky" Baudis
The next generation of interesting software will be done
on the Macintosh, not the IBM PC. -- Bill Gates
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html [Less]
|
|
Posted
over 17 years
ago
by
David Aguilar
Greetings!
The latest version of git cola is available for download from the
usual interwebs:
http://cola.tuxfamily.org/
http://gitorious.org/projects/git-cola/
git cola is a highly functional git gui licensed under the gpl.
It's written
... [More]
in Python/Qt4. In addition to its native platform
(Linux/Unix), cola also runs on OSX and Windows.
Although tarballs, .rpms and .deb packages are available, building it
from source is very easy.
On debian it's as simple as:
sudo apt-get install simplejson python-qt4 pyqt4-dev-tools python-pyinotify
git clone git://gitorious.org/git-cola/mainline.git cola
cd cola && ./configure && make && make install
Like git gui, it allows you to do very fine-grained commits. It has a
bunch of other random useful stuff, so I figured it was about time to
announce it here. It has inotify support on Linux, which is why
there's no rescan button in cola.
Hopefully the code isn't too rotten ;-)
CAVEATS:
i18n/l10n is incomplete. I used the latest .po files from git-gui,
but obviously there are a number of strings in git cola that don't
have translations. If there is an interest in cola from the user
community then I will need some advice on how to handle this
situation. I don't like having stolen the .po's from git-gui (sorry
Shawn!) but it did prove that the infrastucture for "LANG=ja git cola"
is working correctly.
cola works by parsing git commands. It's pretty fast despite the
process overhead, though it'll probably be a bit slower on windows. I
have no idea what cr/lf issues exist (if any), though I've tried to be
careful about it.
enjoy,
p.s. if you happen to prefer dark color themes you can run: git cola
--style=dark
--
David
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Less]
|
|
Posted
over 17 years
ago
by
Sverre Rabbelier
Heya,
I leave to the USA this Friday, and because of US tax laws I would
have to pay an insane amount of tax for just 2 weeks of development. I
have agreed with my mentor a while a go that I would finish up GSoC
before I left, that way avoiding
... [More]
having to pay US taxes. (Over here in
the Netherlands I don't have to pay tax over the $4500 because I
didn't make >6000 euro this year, the joys of being a student.) As a
result it is quite clear what GitStats will look like at the end of my
GSoC. I am going to continue working on it though, I am especially
interested in getting the '--follow' part of 'git log' working in such
a way that it can be incorporated into GitStats. As such, here is a
summary of what GitStat is at the moment. From the documentation:
$ cat gitstats-*
syntax: stats.py author
The purpose of the author module is to gather statistics
about authors, and to aggregate this information to provide
information about all the authors of a repo.
Currently the available metrics in the author module are
the following:
* Determine how many changes an author made (making a
distinction between lines added and lines deleted), and
record this per author, for all files in the repository.
It is possible to get this data for one specific author,
(although data for all authors will still be gathered,)
because the result is stored per author.
* Determine how many commits an author made that affected
a specific file. This metric is less granular, but a lot
faster. To retreive the more granular result, one could
simply iterate over the result of the above metric for
each author, and take only the data for the file one is
interested in.
* Aggregate the information from the first metric, adding
up the statistics from each author. This provides a more
general 'file activity' metric and is a nice example of
how an existing metric can be modified to do something
seemingly unrelated.
This module does not define any auxillery functions.
syntax: stats.py branch
The purpose of the branch module is to gather statistics
about branches, or related to branches.
Currently the available metrics in the branch module are
the following:
* Which of the branch head does a commit belong to
What this metric does is walk down the ancestry of the
target commit and increase the 'dilution' by one or each
merge it finds. The exception applies that when following
the 'primary' parent of the merge (e.g., the branch
recorded as the one the merge commit was made on), the
dilution is not increased. As such, if the target commit
is made on a branch, and then later on it's dilution
is calculated, it will have 0 dilution for that branch.
The branch with the lowest dilution is deemed to be the
branch that the commit belongs to most.
Note: In git there is no 'main' branch, as such any and
all branches branches that 'branched off' after the
target commit will also have dilution 0.
It also defines the following auxillery functions:
* Retreive the name of a commit if it is a the head of a
branch. This can be seen as the reverse of 'rev-parse'
for branch heads. This is used internally to provide the
user with a sensible name when telling them which branch
a commit belongs to.
* List all the branches that contain a specific commit,
optionally searching through remote branches as well as
optionally not filtering at all. This is used internally
to not search through branches that do not contain the
target commit.
syntax: stats.py bug
The purpose of the bug module is to gather statistics on
bugfixes within the content, and to aggregate this
information to provide with a report of the last N commits.
Currently the available metrics in the bug module are the
following:
* Determine whether a specific commit is a bugfix based on
other metrics. When one of the metrics is 'positive',
that is, it's return value indicates that the examined
commit is a bugfix, the 'bugfix rating' is increased by
a pre-configured amount. This amount can be specified per
metric, and can be set to '0' to ignore it.
* Aggregate the above metric over the past N commits. Also,
when running the above metric on more than one commit,
cache the result of calls to the git binary so that the
execution time is reduced. This means that the execution
time is not directly proportional to the size of the
repository. (Instead, there is a fixed 'start up' cost,
after which there is a 'per commit' cost, which is
relatively low.)
This module does not define any auxillery functions.
syntax: stats.py commit
The purpose of the commit module is to gather statistics
about commits, or related to commits, with the exception
of things related to diffs (only retrieving the raw diff is
in this module).
Currently the available metrics in the author module are
the following:
* Find all the commits that touched the same paths as the
specified commit. This is implemented by passing the
result of the 'paths touched' auxillary function to the
'commits that touched' auxillary function. See below.
* Retrieve the diff of a commit, either with or without
context, and optionally ignoring whitespace changes. This
method also works for the root commit (by making use of
the '--root' option to 'diff tree'.
* Show only commits of which the commit message, and/or the
commit diff, match a specific regexp. This is a simple
reimplementation of 'git log -S' and 'git log --grep'. It
is preferable to instead use the options native to
'git log', than to use this slower version.
Note: the regexps for the 'commit message' and the
'commit diff' may be different.
It also defines the following auxillary functions:
* Print a commit in a 'readable' way, this is by default
'git log -1 --name-only'. By the way of an environmental
variable ('GIT_STATS_PRETTY_PRINT'), it can be made to
instead use 'git log -1 --prety=oneline' by setting the
variable to 'online'.
* Retrieve all the paths that a specific commit touches,
this is used internally to limit the commits that have
to be searched when looking for a merge. That is done by
passing the output of this method to the one described
below.
* Find all commits that touched a list of files, optionally
treating the paths as relative to the current working
directory.
syntax: stats.py diff
The purpose of the diff module is to gather statistics
about diffs, or related to diffs.
Currently the available metrics in the diff module are the
following:
* Determine whether two commit diffs are equal, optionally
checking whether they are reverts instead. It is also
possible to just look at what lines were changed (and
ignore the actual changes).
* Find all commits that are reverted by the specified
commit by first retrieving the touched files, and then
examining all the commits that that touch the same files.
It also defines the following auxillery functions:
* Parse a raw commit diff and store it on a hunk-by-hunk
basis so that later on it can be examined more carefully
by other tools. Line numbers are optionally included so
that one can use those. For example, by comparing all the
added hunks with the deleted hunks of a second commit,
and vise versa, one can check for (partial) reverts.
syntax: stats.py index
The purpose of the index module is to gather statistics
about the index, or related to the index.
Currently the available metrics in the index module are the
following:
* List all the commits that touch the same files as the
staged files. This can be useful to find out which commit
introduced the bug fixed in this commit (by piping the
output of this method to one that looks at which lines
were touched for example).
It also defines the following auxillery functions:
* Get all the staged changes (optionally ignoring newly
added files). This is used internally to find all the
commits that touched the same files as those that are
currently staged.
syntax: stats.py matcher
The purpose of the matcher module is to compare hunks
within one diff to one another, and determine whether there
is any code being moved around.
Currently the available metrics in the index module are the
following:
* Try to find a match between the hunks in one diff, so
that code moves can be detected. This makes use of the
'diff size calculation' described below.
It also defines the following auxillery functions:
* Calculate the size of a diff, only counting the amount
of lines added, and the amount of lines deleted. This can
be used to determine a best 'interdiff' (the shortest one
is the best one), when searching for two hunks that are
moved around.
syntax: stats.py
Available commands:
author Activity for one author, file, or project
branch In how far a commit belongs to a branch
bug Determine whether a commitis a bugfix
commit Basic functionality already present in git
diff Compare two diffs and find reverts
index Find which commits touched the staged files
matcher Try to match hunks in a diff to find moves
test Run the unittests for GitStats
The stats.py module is the main entry point of GitStats,
it dispatches to the commands listed above. When no
arguments are passed, it automatically runs the command
with '--help' so that a usage message is shown for that
command.
Each of the modules it uses as subcommands defines a
'dispatch' function that is called with the users arguments
(with the exception of the first, which is the name of the
command executed). If anything should be returned to the
system, the dispatch method should return this value.
To run properly it requires the git_stats package to be
a subdirectory of the directory it resides in. That is,
your directory tree should be something like this:
.
|-- git_stats
| `--
|-- scripts
| `--
|-- t
| `--
`-- stats.py
syntax: stats.py tests
The purpose of the tests module is to make available the
unittests for GitStats to external programs. It may be
used to run the unittests for GitStats from for example
a shell script. It's output is made to match the git
regression test suite.
--
Cheers,
Sverre Rabbelier
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html [Less]
|
|
Posted
over 17 years
ago
by
William Morgan
Ditz version 0.4 has been released! This release features improved git
integration.
http://ditz.rubyforge.org
Ditz is a simple, light-weight distributed issue tracker designed to work with
distributed version control systems like git, darcs
... [More]
, Mercurial, and Bazaar. It
can also be used with centralized systems like SVN.
Ditz maintains an issue database directory on disk, with files written in a
line-based and human-editable format. This directory can be kept under version
control, alongside project code.
Ditz provides a simple, console-based interface for creating and updating the
issue database file, and some rudimentary HTML generation capabilities for
producing world-readable status pages. It currently offers no central public
method of bug submission.
Synopsis:
# set up project. creates the bugs.yaml file.
1. ditz init
2. ditz add-release
# add an issue
3. ditz add
# where am i?
4. ditz status
5. ditz todo (or simply "ditz")
# do work
6. write code
7. ditz close
8. commit
9. goto 3
# finished!
10. ditz release
Changes:
## 0.4 / 2008-07-27
* bugfix: HOME environment variable now correctly detected on windows
* hooks loaded from both home directory and project directory
* added bash shell completion
* plugin architecture for tighter SCM integration, etc
* 'ditz grep' should also grep against comments, log messages, etc
* added man page
* removed ditz-convert-from-monolith
* lots of HTML output tweaking
--
William
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Less]
|
|
Posted
over 17 years
ago
by
Junio C Hamano
The latest maintenance release GIT 1.5.6.4 is available at the
usual places:
http://www.kernel.org/pub/software/scm/git/
git-1.5.6.4.tar.{gz,bz2} (source tarball)
git-htmldocs-1.5.6.4.tar.{gz,bz2} (preformatted docs)
... [More]
git-manpages-1.5.6.4.tar.{gz,bz2} (preformatted docs)
The RPM binary packages for a few architectures are also provided
as courtesy.
RPMS/$arch/git-*-1.5.6.4-1.fc9.$arch.rpm (RPM)
GIT v1.5.6.4 Release Notes
==========================
Fixes since v1.5.6.3
--------------------
* Various commands could overflow its internal buffer on a platform
with small PATH_MAX value in a repository that has contents with
long pathnames.
* There wasn't a way to make --pretty=format:%<> specifiers to honor
.mailmap name rewriting for authors and committers. Now you can with
%aN and %cN.
* Bash completion wasted too many cycles; this has been optimized to be
usable again.
* Bash completion lost ref part when completing something like "git show
pu:Makefile".
* "git-cvsserver" did not clean up its temporary working area after annotate
request.
* "git-daemon" called syslog() from its signal handler, which was a
no-no.
* "git-fetch" into an empty repository used to remind that the fetch will
be huge by saying "no common commits", but this was an unnecessary
noise; it is already known by the user anyway.
* "git-http-fetch" would have segfaulted when pack idx file retrieved
from the other side was corrupt.
* "git-index-pack" used too much memory when dealing with a deep delta chain.
* "git-mailinfo" (hence "git-am") did not correctly handle in-body [PATCH]
line to override the commit title taken from the mail Subject header.
* "git-rebase -i -p" lost parents that are not involved in the history
being rewritten.
* "git-rm" lost track of where the index file was when GIT_DIR was
specified as a relative path.
* "git-rev-list --quiet" was not quiet as advertised.
Contains other various documentation fixes.
[Less]
|
|
Posted
over 17 years
ago
by
Junio C Hamano
The latest maintenance release GIT 1.5.6.3 is available at the
usual places:
http://www.kernel.org/pub/software/scm/git/
git-1.5.6.3.tar.{gz,bz2} (source tarball)
git-htmldocs-1.5.6.3.tar.{gz,bz2} (preformatted docs)
... [More]
git-manpages-1.5.6.3.tar.{gz,bz2} (preformatted docs)
The RPM binary packages for a few architectures are also provided
as courtesy. As the machine I cut them at kernel.org has been updated to FC9
recently, their filenames now have "fc9" in them.
RPMS/$arch/git-*-1.5.6.3-1.fc9.$arch.rpm (RPM)
The changes since the previous maintenance release is getting smaller.
About half the diff is in Documentation/ section.
Documentation/RelNotes-1.5.6.3.txt | 52
Documentation/git-cvsimport.txt | 6
Documentation/git-cvsserver.txt | 3
Documentation/git-mailinfo.txt | 5 -
Documentation/git-rev-parse.txt | 4 -
Documentation/git.txt | 3 -
Documentation/gitattributes.txt | 33 ----------
Documentation/gitcvs-migration.txt | 5
Documentation/pretty-formats.txt | 8 --
RelNotes | 2 -
builtin-clone.c | 8 --
builtin-commit.c | 11 ----
builtin-log.c | 16 -------
builtin-mailinfo.c | 3 -
builtin-send-pack.c | 3 -
builtin-tag.c | 2 -
contrib/completion/git-completion.bash | 30
convert.c | 25 ----------
diff.c | 8 ----
git-am.sh | 3 -
git-submodule.sh | 3 -
git-svn.perl | 2
http.c | 36 --------------
path.c | 2 -
read-cache.c | 16
refs.c | 2 -
run-command.c | 2
t/t0004-unwritable.sh | 19 -----
t/t1301-shared-repo.sh | 23
t/t5404-tracking-branches.sh | 7
t/t5601-clone.sh | 20 -
transport.c | 4 -
32 files changed, 253 insertions( ), 113 deletions(-)
----------------------------------------------------------------
GIT v1.5.6.3 Release Notes
==========================
Fixes since v1.5.6.2
--------------------
* Setting core.sharerepository to traditional "true" value was supposed to make
the repository group writable but should not affect permission for others.
However, since 1.5.6, it was broken to drop permission for others when umask is
022, making the repository unreadable by others.
* Setting GIT_TRACE will report spawning of external process via run_command().
* Using an object with very deep delta chain pinned memory needed for extracting
intermediate base objects unnecessarily long, leading to excess memory usage.
* Bash completion script did not notice '--' marker on the command
line and tried the relatively slow "ref completion" even when
completing arguments after one.
* Registering a non-empty blob racily and then truncating the working
tree file for it confused "racy-git avoidance" logic into thinking
that the path is now unchanged.
* The section that describes attributes related to git-archive were placed
in a wrong place in the gitattributes(5) manual page.
* "git am" was not helpful to the users when it detected that the committer
information is not set up properly yet.
* "git clone" had a leftover debugging fprintf().
* "git clone -q" was not quiet enough as it used to and gave object count
and progress reports.
* "git clone" marked downloaded packfile with .keep; this could be a
good thing if the remote side is well packed but otherwise not,
especially for a project that is not really big.
* "git daemon" used to call syslog() from a signal handler, which
could raise signals of its own but generally is not reentrant. This
was fixed by restructuring the code to report syslog() after the handler
returns.
* When "git push" tries to remove a remote ref, and corresponding
tracking ref is missing, we used to report error (i.e. failure to
remove something that does not exist).
* "git mailinfo" (hence "git am") did not handle commit log messages in a
MIME multipart mail correctly.
Contains other various documentation fixes.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html [Less]
|