Git development
 help / color / mirror / Atom feed
* Re: [PATCH] git-send-email.perl: expand filename of aliasesfile
From: Matthieu Moy @ 2011-09-28 13:42 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano, Eric Wong
In-Reply-To: <20110928131307.GB12586@laptop>

Cord Seele <cowose@googlemail.com> writes:

> -		open my $fh, '<', $file or die "opening $file: $!\n";
> +		open my $fh, '<', glob($file) or die "opening $file: $!\n";

That'd be cleaner to use

git config --path sendemail.aliasesfile

to let Git do the right expansion, in a way consistant with other places
of Git.

In practice, that would imply adding %config_path_settings like the
existing %config_bool_settings, and add config_path to Git.pm (again,
similarly to config_bool).

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

^ permalink raw reply

* Re: [PATCH] Docs: git checkout --orphan: `root commit' and `branch head'
From: Matthieu Moy @ 2011-09-28 13:45 UTC (permalink / raw)
  To: Michael Witten
  Cc: Junio C Hamano, Jeff King, Philip Oakley, Eric Raible,
	Michael J Gruber, Carlos Martín Nieto, vra5107, git
In-Reply-To: <CAMOZ1BvL85xsQpZdez4VJ+dH4NoQ9RkthHY9OsmdnnaZ_tFnFg@mail.gmail.com>

Michael Witten <mfwitten@gmail.com> writes:

> Well, I think Jeff already proferred a solution. We could have:
>
>   git commit --no-parent
[...]

Appart from the safety objections, is the "root commit" senario common
enough to deserve appearing in the user-interface for both "commit" and
"checkout"?

I think "git commit -h" is scary enough as it is ...

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

^ permalink raw reply

* [PATCH] git-remote-mediawiki: allow a domain to be set for authentication
From: Matthieu Moy @ 2011-09-28 13:48 UTC (permalink / raw)
  To: git, gitster; +Cc: Matthieu Moy
In-Reply-To: <1317146100-22938-3-git-send-email-Matthieu.Moy@imag.fr>

When the wiki uses e.g. LDAP for authentication, the web interface shows
a popup to allow the user to chose an authentication domain, and we need
to use lgdomain in the API at login time.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
---
 contrib/mw-to-git/git-remote-mediawiki |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/contrib/mw-to-git/git-remote-mediawiki b/contrib/mw-to-git/git-remote-mediawiki
index b809792..0b32d18 100755
--- a/contrib/mw-to-git/git-remote-mediawiki
+++ b/contrib/mw-to-git/git-remote-mediawiki
@@ -76,8 +76,10 @@ my $wiki_login = run_git("config --get remote.". $remotename .".mwLogin");
 # inside a remote helper, so our stdin is connect to git, not to a
 # terminal.
 my $wiki_passwd = run_git("config --get remote.". $remotename .".mwPassword");
+my $wiki_domain = run_git("config --get remote.". $remotename .".mwDomain");
 chomp($wiki_login);
 chomp($wiki_passwd);
+chomp($wiki_domain);
 
 # Import only last revisions (both for clone and fetch)
 my $shallow_import = run_git("config --get --bool remote.". $remotename .".shallow");
@@ -158,6 +160,7 @@ sub mw_connect_maybe {
 		if (!$mediawiki->login({
 			lgname => $wiki_login,
 			lgpassword => $wiki_passwd,
+			lgdomain => $wiki_domain,
 		})) {
 			print STDERR "Failed to log in mediawiki user \"$wiki_login\" on $url\n";
 			print STDERR "(error " .
-- 
1.7.7.rc0.75.g56f27

^ permalink raw reply related

* Re: [PATCH] Docs: git checkout --orphan: `root commit' and `branch head'
From: Michael Witten @ 2011-09-28 13:50 UTC (permalink / raw)
  To: Matthieu Moy
  Cc: Junio C Hamano, Jeff King, Philip Oakley, Eric Raible,
	Michael J Gruber, Carlos Martín Nieto, vra5107, git
In-Reply-To: <vpqty7wok5a.fsf@bauges.imag.fr>

On Wed, Sep 28, 2011 at 13:45, Matthieu Moy
<Matthieu.Moy@grenoble-inp.fr> wrote:
> Michael Witten <mfwitten@gmail.com> writes:
>
>> Well, I think Jeff already proferred a solution. We could have:
>>
>>   git commit --no-parent
> [...]
>
> Appart from the safety objections, is the "root commit" senario common
> enough to deserve appearing in the user-interface for both "commit" and
> "checkout"?
>
> I think "git commit -h" is scary enough as it is ...

Well, as Junio mentioned, "--orphan" could be deprecated in favor of
"--no-parent"; the uncommon nature of this task works to our
advantage, in that it makes a deprecation of "--orphan" easy.

^ permalink raw reply

* Re: Problems with git-svn and space in the URL
From: karl @ 2011-09-28 14:04 UTC (permalink / raw)
  To: git
In-Reply-To: <0A790195-2DB1-4E1F-BAE2-9D65C261AD26@sky4studios.be>

I was able to work around this issue by patching git-svn.

I updated the url_path function to:


sub url_path {
	my ($self, $path) = @_;

	my $url = $self->{url} . '/' . $self->repo_path($path);
	if ($self->{url} =~ m#^https?://#) {
		$url =~ s!([^~a-zA-Z0-9_./-])!uc sprintf("%%%02x",ord($1))!eg;
                $url =~ s!^(https?)%3A//!$1://!;
	}
    $url
}


This ensures that the spaces in the url are encoded correctly.

It seems to work for me, but hasn't been tested thoroughly.

--
View this message in context: http://git.661346.n2.nabble.com/Problems-with-git-svn-and-space-in-the-URL-tp5120361p6840304.html
Sent from the git mailing list archive at Nabble.com.

^ permalink raw reply

* Re: [PATCH] Docs: git checkout --orphan: `root commit' and `branch head'
From: Matthieu Moy @ 2011-09-28 14:09 UTC (permalink / raw)
  To: Michael Witten
  Cc: Junio C Hamano, Jeff King, Philip Oakley, Eric Raible,
	Michael J Gruber, Carlos Martín Nieto, vra5107, git
In-Reply-To: <CAMOZ1Bu8UiV+Z0+0CLjxSv5Zic8i4=aGxnzmLc+H7c2T-P4avw@mail.gmail.com>

Michael Witten <mfwitten@gmail.com> writes:

> Well, as Junio mentioned, "--orphan" could be deprecated in favor of
> "--no-parent"; the uncommon nature of this task works to our
> advantage, in that it makes a deprecation of "--orphan" easy.

I agree that _some_ cases would be more natural with commit --no-parent,
but I disagree that it is a better solution in general.

For example

# I want to create a new root commit with a different tree
git rm -fr *
vi file-in-new-project.txt
git add file-in-new-project.txt
# continue hacking for a while
git commit -m "New project" # oops, I forgot the --no-parent

History is not destroyed and you can still "git reset" back to the
previous commit, but you've at least temporarily damaged your branch
(and no --force flag could have prevented it). With "git checkout
--orphan" in the above scenario, you run the command at the time you
take the decision you want to create a root commit, and then hack
normally.

Even if you use it normally:

# I want to create a new root commit with a different tree
git checkout -b new-project
# hack for a while
git status
# ?!? why are files shown as 'deleted', 'moved', 'modified', I said I
# was creating a new project!

Also, with your proposal, we would need to add two flags to "commit"
(--no-parent and --force), which is one of the first command beginners
learn, while in the current state we have just one for "checkout" to do
the trick, and newbies do not use or read the doc for checkout, so it's
not scary for them.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

^ permalink raw reply

* Merge seems to overwrite unstaged local changes
From: Sebastian Schuberth @ 2011-09-28 14:08 UTC (permalink / raw)
  To: git

Hi,

although it is good practice to have a clean working tree before pulling / merging, my understanding of

"In particular, the local modifications you had before you started merge will stay the same and the index entries for them stay as they were, i.e. matching HEAD."

from [1] is that my local unstaged changes to a file known to Git should not get lost during a merge (especially if there a no conflicts in the file that's modified locally).

It seems I can reproduce a case where this is not true. Here's what I do:

# Checkout a branch
$ git co -b marianne 45e0d23bf1a6bf62e3317a691385e0f1a7b279ea

$ git status
# On branch marianne
nothing to commit (working directory clean)

$ git log --oneline hxprofile1d/HxComputeProfileAlongAxis.cpp
45e0d23 hxprofile1d: [Fix] errors according to move of files
3509d94 hxprofile1d: moved files from package hxneuralnetwork to hxprofile1d

# Add some stuff to the end of the existing file.
$ vim hxprofile1d/HxComputeProfileAlongAxis.cpp

$ git status
# On branch marianne
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   hxprofile1d/HxComputeProfileAlongAxis.cpp
#
no changes added to commit (use "git add" and/or "git commit -a")

$ git merge 569e443faf5ae773af1c8eedfefa41ebfd066171
Removing cgal/BuildCGAL.sh
Auto-merging hxcortexinsilico/QxCorticalColumnTool.cpp
Auto-merging hxcortexinsilico/QxCorticalColumnTool.h
Removing hxneuralnetwork/QxAddFilesDialog.cpp
Removing hxneuralnetwork/QxAddFilesDialog.h
Removing hxneuralnetwork/QxAddFilesDialogUI.ui
Auto-merging hxneuralnetwork/SelectionPredicateCellTypeIsTest.cpp
Removing hxneuralnetwork/SelectionPredicateHasCellTypeName.cpp
Removing hxneuralnetwork/SelectionPredicateHasCellTypeName.h
Removing hxneuralnetwork/SelectionPredicateHasCellTypeNameTest.h
Auto-merging hxneuralnetwork/share/resources/hxneuralnetwork.rc
Auto-merging hxneuralnetwork/share/resources/test_hxneuralnetwork.rc
Auto-merging hxneuronkernels/HxLandmarksInSurface.h
Auto-merging hxneuronkernels/MeasurementFunctions.h
Merge made by recursive.
 cgal/BuildCGAL.sh                                  |  153 ----
 cgal/BuildCGALforLinux.sh                          |   94 ++
 cgal/Package                                       |   11 +-
 hx2d3drecon/Reg2d3dFunctionalEdgeNormal.cpp        |    5 +-
 .../ConnectEndNodesToSomaOperationSet.cpp          |    0
 .../ConnectEndNodesToSomaOperationSet.h            |    0
 hxcortexinsilico/Package                           |   27 +
 .../QxCorticalColumnTool.cpp                       |    5 +-
 .../QxCorticalColumnTool.h                         |   10 +-
 .../QxCorticalColumnTool.ui                        |    0
 hxcortexinsilico/hxcortexinsilicoAPI.h             |   14 +
 .../share/png/CorticalColumnTool.png               |  Bin 326 -> 326 bytes
 .../share/resources/hxcortexinsilico.rc            |    9 +
 hxcrosscorrelation/CCR.cpp                         |  415 +++++++++
 hxcrosscorrelation/CCR.h                           |  111 +++
 hxcrosscorrelation/CCR_hollowCylinder.cpp          |  209 +++++
 hxcrosscorrelation/CCR_hollowCylinder.h            |   80 ++
 hxcrosscorrelation/CCR_hollowSphere.cpp            |  164 ++++
 hxcrosscorrelation/CCR_hollowSphere.h              |   69 ++
 hxcrosscorrelation/CCR_plane.cpp                   |  196 ++++
 hxcrosscorrelation/CCR_plane.h                     |   77 ++
 hxcrosscorrelation/CCR_rotation.cpp                |  131 +++
 hxcrosscorrelation/CCR_rotation.h                  |   64 ++
 hxcrosscorrelation/CCR_scale.cpp                   |   59 ++
 hxcrosscorrelation/CCR_scale.h                     |   55 ++
 hxcrosscorrelation/CCR_solidCylinder.cpp           |  197 ++++
 hxcrosscorrelation/CCR_solidCylinder.h             |   76 ++
 hxcrosscorrelation/CCR_solidSphere.cpp             |  153 ++++
 hxcrosscorrelation/CCR_solidSphere.h               |   66 ++
 hxcrosscorrelation/CrossCorrelation.cpp            |  442 +++++++++
 hxcrosscorrelation/CrossCorrelation.h              |  103 +++
 hxcrosscorrelation/CrossCorrelation_cuda.cu        |  208 +++++
 hxcrosscorrelation/DataSplitter.cpp                |  339 +++++++
 hxcrosscorrelation/DataSplitter.h                  |   85 ++
 hxcrosscorrelation/HxCCRShow.cpp                   |   79 ++
 hxcrosscorrelation/HxCCRShow.h                     |   50 +
 hxcrosscorrelation/HxCrossCorrelation.cpp          |  316 +++++++
 hxcrosscorrelation/HxCrossCorrelation.h            |   81 ++
 hxcrosscorrelation/HxDataToSpreadsheet.cpp         |  100 ++
 hxcrosscorrelation/HxDataToSpreadsheet.h           |   58 ++
 hxcrosscorrelation/HxHollowCylinderToCCR.cpp       |  199 ++++
 hxcrosscorrelation/HxHollowCylinderToCCR.h         |   61 ++
 hxcrosscorrelation/HxHollowSphereToCCR.cpp         |  148 +++
 hxcrosscorrelation/HxHollowSphereToCCR.h           |   59 ++
 hxcrosscorrelation/HxPlaneToCCR.cpp                |  166 ++++
 hxcrosscorrelation/HxPlaneToCCR.h                  |   60 ++
 .../HxReferenceIndicesToData_scalar.cpp            |   84 ++
 .../HxReferenceIndicesToData_scalar.h              |   49 +
 .../HxReferenceIndicesToData_vector.cpp            |   88 ++
 .../HxReferenceIndicesToData_vector.h              |   50 +
 hxcrosscorrelation/HxSolidCylinderToCCR.cpp        |  194 ++++
 hxcrosscorrelation/HxSolidCylinderToCCR.h          |   61 ++
 hxcrosscorrelation/HxSolidSphereToCCR.cpp          |  143 +++
 hxcrosscorrelation/HxSolidSphereToCCR.h            |   59 ++
 hxcrosscorrelation/Package                         |    7 +
 hxcrosscorrelation/doc/HxCCRShow.doc               |   29 +
 .../doc/HxCCRShow_selectReference.png              |  Bin 0 -> 2071 bytes
 hxcrosscorrelation/doc/HxCrossCorrelation.doc      |   65 ++
 .../doc/HxCrossCorrelation_GPUDevice.png           |  Bin 0 -> 2327 bytes
 .../doc/HxCrossCorrelation_GPUMemory.png           |  Bin 0 -> 1956 bytes
 .../doc/HxCrossCorrelation_blockSize.png           |  Bin 0 -> 2012 bytes
 .../doc/HxCrossCorrelation_nrBlocks.png            |  Bin 0 -> 2149 bytes
 .../doc/HxCrossCorrelation_timerThreshold.png      |  Bin 0 -> 1404 bytes
 hxcrosscorrelation/doc/HxDataToSpreadSheet.doc     |   30 +
 .../doc/HxDataToSpreadSheet_threshold.png          |  Bin 0 -> 1296 bytes
 hxcrosscorrelation/doc/HxHollowCylinderToCCR.doc   |  123 +++
 .../HxHollowCylinderToCCR_cylinderParameter.png    |  Bin 0 -> 4826 bytes
 .../doc/HxHollowCylinderToCCR_defineForeground.png |  Bin 0 -> 4561 bytes
 .../doc/HxHollowCylinderToCCR_defineForground.png  |  Bin 0 -> 1918 bytes
 .../doc/HxHollowCylinderToCCR_increment.png        |  Bin 0 -> 2800 bytes
 .../doc/HxHollowCylinderToCCR_maskParameter.png    |  Bin 0 -> 4708 bytes
 .../doc/HxHollowCylinderToCCR_options.png          |  Bin 0 -> 4923 bytes
 .../doc/HxHollowCylinderToCCR_psiRange.png         |  Bin 0 -> 3649 bytes
 .../doc/HxHollowCylinderToCCR_smoothing.png        |  Bin 0 -> 2483 bytes
 .../doc/HxHollowCylinderToCCR_thetaRange.png       |  Bin 0 -> 3660 bytes
 .../doc/HxHollowCylinderToCCR_tiltAngles.png       |  Bin 0 -> 3577 bytes
 .../doc/HxHollowCylinderToCCR_tiltAxis.png         |  Bin 0 -> 2909 bytes
 .../doc/HxHollowCylinderToCCR_tiltType.png         |  Bin 0 -> 3667 bytes
 .../doc/HxHollowCylinderToCCR_voxelSize.png        |  Bin 0 -> 3218 bytes
 hxcrosscorrelation/doc/HxHollowSphereToCCR.doc     |   94 ++
 .../doc/HxHollowSphereToCCR_defineForground.png    |  Bin 0 -> 1918 bytes
 .../doc/HxHollowSphereToCCR_increment.png          |  Bin 0 -> 1406 bytes
 .../doc/HxHollowSphereToCCR_options.png            |  Bin 0 -> 2335 bytes
 .../doc/HxHollowSphereToCCR_scaleRange.png         |  Bin 0 -> 1773 bytes
 .../doc/HxHollowSphereToCCR_smoothing.png          |  Bin 0 -> 1255 bytes
 .../doc/HxHollowSphereToCCR_sphereParameter.png    |  Bin 0 -> 1977 bytes
 .../doc/HxHollowSphereToCCR_tiltAngles.png         |  Bin 0 -> 1810 bytes
 .../doc/HxHollowSphereToCCR_tiltAxis.png           |  Bin 0 -> 1831 bytes
 .../doc/HxHollowSphereToCCR_tiltType.png           |  Bin 0 -> 2018 bytes
 .../doc/HxHollowSphereToCCR_voxelSize.png          |  Bin 0 -> 1331 bytes
 hxcrosscorrelation/doc/HxPlaneToCCR.doc            |  105 +++
 .../doc/HxPlaneToCCR_defineForground.png           |  Bin 0 -> 1918 bytes
 hxcrosscorrelation/doc/HxPlaneToCCR_increment.png  |  Bin 0 -> 1406 bytes
 hxcrosscorrelation/doc/HxPlaneToCCR_options.png    |  Bin 0 -> 2335 bytes
 .../doc/HxPlaneToCCR_planeParameter.png            |  Bin 0 -> 2574 bytes
 hxcrosscorrelation/doc/HxPlaneToCCR_psiRange.png   |  Bin 0 -> 1728 bytes
 .../doc/HxPlaneToCCR_subdivision.png               |  Bin 0 -> 1255 bytes
 hxcrosscorrelation/doc/HxPlaneToCCR_thetaRange.png |  Bin 0 -> 1748 bytes
 hxcrosscorrelation/doc/HxPlaneToCCR_tiltAngles.png |  Bin 0 -> 1810 bytes
 hxcrosscorrelation/doc/HxPlaneToCCR_tiltAxis.png   |  Bin 0 -> 1831 bytes
 hxcrosscorrelation/doc/HxPlaneToCCR_tiltType.png   |  Bin 0 -> 2018 bytes
 hxcrosscorrelation/doc/HxPlaneToCCR_voxelSize.png  |  Bin 0 -> 1331 bytes
 .../doc/HxReferenceIndicesToData_scalar.doc        |   27 +
 .../doc/HxReferenceIndicesToData_vector.doc        |   28 +
 hxcrosscorrelation/doc/HxSolidCylinderToCCR.doc    |  121 +++
 .../doc/HxSolidCylinderToCCR_cylinderParameter.png |  Bin 0 -> 4867 bytes
 .../doc/HxSolidCylinderToCCR_defineForeground.png  |  Bin 0 -> 4561 bytes
 .../doc/HxSolidCylinderToCCR_defineForground.png   |  Bin 0 -> 1918 bytes
 .../doc/HxSolidCylinderToCCR_increment.png         |  Bin 0 -> 2800 bytes
 .../doc/HxSolidCylinderToCCR_maskParameter.png     |  Bin 0 -> 4769 bytes
 .../doc/HxSolidCylinderToCCR_options.png           |  Bin 0 -> 4923 bytes
 .../doc/HxSolidCylinderToCCR_psiRange.png          |  Bin 0 -> 3649 bytes
 .../doc/HxSolidCylinderToCCR_smoothing.png         |  Bin 0 -> 2483 bytes
 .../doc/HxSolidCylinderToCCR_thetaRange.png        |  Bin 0 -> 3660 bytes
 .../doc/HxSolidCylinderToCCR_tiltAngles.png        |  Bin 0 -> 3577 bytes
 .../doc/HxSolidCylinderToCCR_tiltAxis.png          |  Bin 0 -> 2909 bytes
 .../doc/HxSolidCylinderToCCR_tiltType.png          |  Bin 0 -> 3667 bytes
 .../doc/HxSolidCylinderToCCR_voxelSize.png         |  Bin 0 -> 3218 bytes
 hxcrosscorrelation/doc/HxSolidSphereToCCR.doc      |   93 ++
 .../doc/HxSolidSphereToCCR_defineForground.png     |  Bin 0 -> 1918 bytes
 .../doc/HxSolidSphereToCCR_increment.png           |  Bin 0 -> 1406 bytes
 .../doc/HxSolidSphereToCCR_options.png             |  Bin 0 -> 2335 bytes
 .../doc/HxSolidSphereToCCR_scaleRange.png          |  Bin 0 -> 1773 bytes
 .../doc/HxSolidSphereToCCR_smoothing.png           |  Bin 0 -> 1255 bytes
 .../doc/HxSolidSphereToCCR_sphereParameter.png     |  Bin 0 -> 1699 bytes
 .../doc/HxSolidSphereToCCR_tiltAngles.png          |  Bin 0 -> 1810 bytes
 .../doc/HxSolidSphereToCCR_tiltAxis.png            |  Bin 0 -> 1831 bytes
 .../doc/HxSolidSphereToCCR_tiltType.png            |  Bin 0 -> 2018 bytes
 .../doc/HxSolidSphereToCCR_voxelSize.png           |  Bin 0 -> 1331 bytes
 hxcrosscorrelation/hxcrosscorrelationWinDLLAPI.h   |   19 +
 .../share/resources/hxcrosscorrelation.rc          |   74 ++
 .../script-objects/TraceFilamentsAndFilter.scro    |   82 ++-
 hxlineextraction/HxAngularDistribution.cpp         |  272 ++++++
 hxlineextraction/HxAngularDistribution.h           |   75 ++
 hxlineextraction/HxExtractLines.cpp                |  951 ++++++++++++++++++++
 hxlineextraction/HxExtractLines.h                  |  239 +++++
 hxlineextraction/HxLinesetToSpreadSheet.cpp        |  100 ++
 hxlineextraction/HxLinesetToSpreadSheet.h          |   51 ++
 hxlineextraction/Package                           |   10 +
 hxlineextraction/doc/HxAngularDistribution.doc     |   17 +
 hxlineextraction/doc/HxExtractLines.doc            |  122 +++
 hxlineextraction/doc/HxExtractLines_.png           |  Bin 0 -> 153 bytes
 .../doc/HxExtractLines_advancedMenu.png            |  Bin 0 -> 1465 bytes
 .../doc/HxExtractLines_cocircularity.png           |  Bin 0 -> 2227 bytes
 .../doc/HxExtractLines_coneAutoParameter.png       |  Bin 0 -> 1908 bytes
 hxlineextraction/doc/HxExtractLines_distance.png   |  Bin 0 -> 2006 bytes
 .../doc/HxExtractLines_getLabelFields.png          |  Bin 0 -> 2483 bytes
 hxlineextraction/doc/HxExtractLines_linearity.png  |  Bin 0 -> 2081 bytes
 hxlineextraction/doc/HxExtractLines_maskRadius.png |  Bin 0 -> 1486 bytes
 .../doc/HxExtractLines_minCorrelation.png          |  Bin 0 -> 2287 bytes
 .../doc/HxExtractLines_minLineLength.png           |  Bin 0 -> 1450 bytes
 hxlineextraction/doc/HxExtractLines_radius.png     |  Bin 0 -> 1355 bytes
 hxlineextraction/doc/HxExtractLines_scale.png      |  Bin 0 -> 1387 bytes
 .../doc/HxExtractLines_searchConeAngle.png         |  Bin 0 -> 1613 bytes
 .../doc/HxExtractLines_searchConeSize.png          |  Bin 0 -> 1710 bytes
 .../doc/HxExtractLines_similThreshold.png          |  Bin 0 -> 2172 bytes
 .../doc/HxExtractLines_similarityFactors.png       |  Bin 0 -> 2628 bytes
 .../doc/HxExtractLines_timerThreshold.png          |  Bin 0 -> 1972 bytes
 hxlineextraction/doc/HxLineSetToSpreadSheet.doc    |   17 +
 hxlineextraction/hxlineextractionWinDLLAPI.h       |   19 +
 .../share/resources/hxlineextraction.rc            |   17 +
 hxneuralnetwork/ASTToQueryVisitor.cpp              |   55 +-
 hxneuralnetwork/ASTToQueryVisitor.h                |   12 +-
 hxneuralnetwork/ASTVisitorTest.cpp                 |   54 +-
 hxneuralnetwork/ASTVisitorTest.h                   |    9 +-
 hxneuralnetwork/AbstractSyntaxTree.cpp             |   55 +-
 hxneuralnetwork/AbstractSyntaxTree.h               |   35 +-
 hxneuralnetwork/AbstractSyntaxTreeVisitor.h        |   10 +-
 hxneuralnetwork/HxCreateMorphologyGallery.cpp      |  199 +++--
 hxneuralnetwork/HxCreateMorphologyGallery.h        |   30 +-
 hxneuralnetwork/HxNeuralNetworkAnalyzer.cpp        |   75 ++-
 hxneuralnetwork/HxNeuralNetworkAnalyzer.h          |   14 +-
 hxneuralnetwork/HxNeuralNetworkAnalyzerTest.cpp    |    2 +-
 hxneuralnetwork/HxNeuralNetworkSubApp.cpp          |   14 +-
 hxneuralnetwork/HxNeuronDistributorTest.cpp        |   10 +-
 hxneuralnetwork/MorphologyManager.cpp              |   64 +-
 hxneuralnetwork/MorphologyManager.h                |   11 +-
 hxneuralnetwork/MorphologyManagerTest.cpp          |   37 +-
 hxneuralnetwork/MorphologyManagerTest.h            |    1 +
 hxneuralnetwork/NeuralNetworkDSLParser.l           |   10 +-
 hxneuralnetwork/NeuralNetworkDSLParser.y           |   84 ++-
 hxneuralnetwork/NeuralNetworkDSLParserTest.cpp     |   33 +-
 hxneuralnetwork/NeuralNetworkDSLParserTest.h       |   11 +-
 hxneuralnetwork/Package                            |    3 -
 hxneuralnetwork/PrintASTVisitor.cpp                |   27 +-
 hxneuralnetwork/PrintASTVisitor.h                  |    9 +-
 hxneuralnetwork/QxAddFilesDialog.cpp               |   55 --
 hxneuralnetwork/QxAddFilesDialog.h                 |   30 -
 hxneuralnetwork/QxAddFilesDialogUI.ui              |   85 --
 hxneuralnetwork/SelectionPredicateCellTypeIs.cpp   |   42 +
 hxneuralnetwork/SelectionPredicateCellTypeIs.h     |   24 +
 ...st.cpp => SelectionPredicateCellTypeIsTest.cpp} |   11 +-
 hxneuralnetwork/SelectionPredicateCellTypeIsTest.h |   18 +
 .../SelectionPredicateHasCellTypeName.cpp          |   27 -
 .../SelectionPredicateHasCellTypeName.h            |   21 -
 .../SelectionPredicateHasCellTypeNameTest.h        |   18 -
 hxneuralnetwork/SelectionPredicateTreeNode.cpp     |   21 +-
 hxneuralnetwork/SelectionPredicateTreeNode.h       |   16 +-
 hxneuralnetwork/SelectionQuery.cpp                 |   26 +-
 hxneuralnetwork/SelectionQuery.h                   |   25 +-
 hxneuralnetwork/SelectionQueryExecutor.cpp         |   73 ++-
 hxneuralnetwork/SelectionQueryExecutorTest.cpp     |   73 ++-
 hxneuralnetwork/SelectionQueryExecutorTest.h       |    6 +-
 hxneuralnetwork/SelectionQueryManager.cpp          |    2 +-
 hxneuralnetwork/SelectionQueryResult.cpp           |   13 +
 hxneuralnetwork/SelectionQueryResult.h             |    4 +
 hxneuralnetwork/TestHelpers.cpp                    |   16 +-
 hxneuralnetwork/share/resources/hxneuralnetwork.rc |   17 -
 .../share/resources/test_hxneuralnetwork.rc        |    2 +-
 .../HxLandmarksInSurface.cpp                       |    0
 .../HxLandmarksInSurface.h                         |    4 +-
 .../MeasurementFunctions.cpp                       |    0
 .../MeasurementFunctions.h                         |    4 +-
 hxneuronkernels/Package                            |    1 +
 hxneuronkernels/share/resources/hxneuronkernels.rc |    5 +
 hxoptimizeactiveshape2/GlobalOptimizeFunc.cpp      |  435 ++++++++--
 hxoptimizeactiveshape2/GlobalOptimizeFunc.h        |   51 +-
 hxoptimizeactiveshape2/GridSamples.cpp             |    2 +-
 hxoptimizeactiveshape2/HxGlobalOptimize.cpp        |    8 +-
 hxoptimizeactiveshape2/HxTestParameters.cpp        |    4 +-
 hxrabbitct/HxRabbitCTRunner.cpp                    |   54 +-
 hxrabbitct/HxRabbitCTRunner.h                      |    5 +-
 hxrabbitct/Package                                 |    2 -
 hxscanconvert/Bresenham.cpp                        |  152 ++++
 hxscanconvert/Bresenham.h                          |   31 +
 hxscanconvert/HxScanConvert.cpp                    |  202 +++++
 hxscanconvert/HxScanConvert.h                      |   83 ++
 hxscanconvert/HxScanConvertCylinder.cpp            |  110 +++
 hxscanconvert/HxScanConvertCylinder.h              |   37 +
 hxscanconvert/HxScanConvertCylinderHollow.cpp      |  165 ++++
 hxscanconvert/HxScanConvertCylinderHollow.h        |   37 +
 hxscanconvert/HxScanConvertPlane.cpp               |  111 +++
 hxscanconvert/HxScanConvertPlane.h                 |   37 +
 hxscanconvert/HxScanConvertSphere.cpp              |   97 ++
 hxscanconvert/HxScanConvertSphere.h                |   36 +
 hxscanconvert/HxScanConvertSphereHollow.cpp        |  155 ++++
 hxscanconvert/HxScanConvertSphereHollow.h          |   36 +
 hxscanconvert/Package                              |   10 +
 hxscanconvert/ScanConvert.cpp                      |  477 ++++++++++
 hxscanconvert/ScanConvert.h                        |  125 +++
 hxscanconvert/ScanConvertCylinder.cpp              |  159 ++++
 hxscanconvert/ScanConvertCylinder.h                |   51 ++
 hxscanconvert/ScanConvertPlane.cpp                 |   99 ++
 hxscanconvert/ScanConvertPlane.h                   |   56 ++
 hxscanconvert/ScanConvertSphere.cpp                |   76 ++
 hxscanconvert/ScanConvertSphere.h                  |   49 +
 hxscanconvert/hxscanconvertWinDLLAPI.h             |   19 +
 hxscanconvert/share/resources/hxscanconvert.rc     |   24 +
 .../HxSetSpatialGraphInterfaceImpl.cpp             |    2 +-
 hxspatialgraphset/HxSetSpatialGraphInterfaceImpl.h |    2 +-
 hxspatialgraphset/HxSpatialGraphSet.cpp            |    4 +-
 hxspatialgraphset/HxSpatialGraphSet.h              |    4 +-
 hxspatialgraphset/HxSpatialGraphSetLegend.cpp      |   45 +-
 hxspatialgraphset/HxSpatialGraphSetLegend.h        |    3 +-
 hxspatialgraphset/HxSpatialGraphSetView.cpp        |   92 ++-
 hxspatialgraphset/HxSpatialGraphSetView.h          |   15 +-
 .../QxSpatialGraphSetViewSelectionDialog.cpp       |   43 +-
 hxtemplatematching/HxRadonTransform.cpp            |    4 +-
 hxtensor3d/HxExtractTensorSlice.cpp                |   92 ++-
 hxtensor3d/HxExtractTensorSlice.h                  |    9 +
 hxtensor3d/HxStructureTensor.cpp                   |    4 +-
 hxtensor3dSegmentation/Package                     |    2 +-
 hxtensordisplay/HxTensorGlyphDisplay.cpp           |  418 +++++++++
 hxtensordisplay/HxTensorGlyphDisplay.h             |  132 +++
 hxtensordisplay/Package                            |   37 +-
 hxtensordisplay/share/resources/hxtensordisplay.rc |    6 +
 .../hxtensordisplay/HxTensorGlyphDisplay-Frag.glsl |   69 ++
 .../hxtensordisplay/HxTensorGlyphDisplay-Geom.glsl |  154 ++++
 .../HxTensorGlyphDisplay-Vertex.glsl               |  293 ++++++
 hxtensordisplay2d/HxTensorGlyphDisplay2D.cpp       |  151 ++--
 hxtensordisplay2d/HxTensorGlyphDisplay2D.h         |   54 +-
 hxtomtools/HxAverageSlices.cpp                     |  114 +++
 hxtomtools/HxAverageSlices.h                       |   61 ++
 hxtomtools/HxRemoveSmallSurfaces.cpp               |  247 +++++
 hxtomtools/HxRemoveSmallSurfaces.h                 |   73 ++
 hxtomtools/Package                                 |   10 +
 hxtomtools/doc/HxAverageSlices.doc                 |   27 +
 hxtomtools/doc/HxAverageSlices_numSlices.png       |  Bin 0 -> 1603 bytes
 hxtomtools/doc/HxRemoveSmallSurfaces.doc           |   28 +
 .../doc/HxRemoveSmallSurfaces_surfaceSize.png      |  Bin 0 -> 1614 bytes
 hxtomtools/hxtomtoolsWinDLLAPI.h                   |   19 +
 hxtomtools/share/resources/hxtomtools.rc           |   11 +
 282 files changed, 14158 insertions(+), 1084 deletions(-)
 delete mode 100755 cgal/BuildCGAL.sh
 create mode 100755 cgal/BuildCGALforLinux.sh
 rename {hxneuralnetwork => hxcortexinsilico}/ConnectEndNodesToSomaOperationSet.cpp (100%)
 rename {hxneuralnetwork => hxcortexinsilico}/ConnectEndNodesToSomaOperationSet.h (100%)
 create mode 100644 hxcortexinsilico/Package
 rename {hxneuralnetwork => hxcortexinsilico}/QxCorticalColumnTool.cpp (99%)
 rename {hxneuralnetwork => hxcortexinsilico}/QxCorticalColumnTool.h (96%)
 rename {hxneuralnetwork => hxcortexinsilico}/QxCorticalColumnTool.ui (100%)
 create mode 100644 hxcortexinsilico/hxcortexinsilicoAPI.h
 rename {hxneuralnetwork => hxcortexinsilico}/share/png/CorticalColumnTool.png (100%)
 create mode 100644 hxcortexinsilico/share/resources/hxcortexinsilico.rc
 create mode 100644 hxcrosscorrelation/CCR.cpp
 create mode 100644 hxcrosscorrelation/CCR.h
 create mode 100644 hxcrosscorrelation/CCR_hollowCylinder.cpp
 create mode 100644 hxcrosscorrelation/CCR_hollowCylinder.h
 create mode 100644 hxcrosscorrelation/CCR_hollowSphere.cpp
 create mode 100644 hxcrosscorrelation/CCR_hollowSphere.h
 create mode 100644 hxcrosscorrelation/CCR_plane.cpp
 create mode 100644 hxcrosscorrelation/CCR_plane.h
 create mode 100644 hxcrosscorrelation/CCR_rotation.cpp
 create mode 100644 hxcrosscorrelation/CCR_rotation.h
 create mode 100644 hxcrosscorrelation/CCR_scale.cpp
 create mode 100644 hxcrosscorrelation/CCR_scale.h
 create mode 100644 hxcrosscorrelation/CCR_solidCylinder.cpp
 create mode 100644 hxcrosscorrelation/CCR_solidCylinder.h
 create mode 100644 hxcrosscorrelation/CCR_solidSphere.cpp
 create mode 100644 hxcrosscorrelation/CCR_solidSphere.h
 create mode 100644 hxcrosscorrelation/CrossCorrelation.cpp
 create mode 100644 hxcrosscorrelation/CrossCorrelation.h
 create mode 100644 hxcrosscorrelation/CrossCorrelation_cuda.cu
 create mode 100644 hxcrosscorrelation/DataSplitter.cpp
 create mode 100644 hxcrosscorrelation/DataSplitter.h
 create mode 100644 hxcrosscorrelation/HxCCRShow.cpp
 create mode 100644 hxcrosscorrelation/HxCCRShow.h
 create mode 100644 hxcrosscorrelation/HxCrossCorrelation.cpp
 create mode 100644 hxcrosscorrelation/HxCrossCorrelation.h
 create mode 100644 hxcrosscorrelation/HxDataToSpreadsheet.cpp
 create mode 100644 hxcrosscorrelation/HxDataToSpreadsheet.h
 create mode 100644 hxcrosscorrelation/HxHollowCylinderToCCR.cpp
 create mode 100644 hxcrosscorrelation/HxHollowCylinderToCCR.h
 create mode 100644 hxcrosscorrelation/HxHollowSphereToCCR.cpp
 create mode 100644 hxcrosscorrelation/HxHollowSphereToCCR.h
 create mode 100644 hxcrosscorrelation/HxPlaneToCCR.cpp
 create mode 100644 hxcrosscorrelation/HxPlaneToCCR.h
 create mode 100644 hxcrosscorrelation/HxReferenceIndicesToData_scalar.cpp
 create mode 100644 hxcrosscorrelation/HxReferenceIndicesToData_scalar.h
 create mode 100644 hxcrosscorrelation/HxReferenceIndicesToData_vector.cpp
 create mode 100644 hxcrosscorrelation/HxReferenceIndicesToData_vector.h
 create mode 100644 hxcrosscorrelation/HxSolidCylinderToCCR.cpp
 create mode 100644 hxcrosscorrelation/HxSolidCylinderToCCR.h
 create mode 100644 hxcrosscorrelation/HxSolidSphereToCCR.cpp
 create mode 100644 hxcrosscorrelation/HxSolidSphereToCCR.h
 create mode 100644 hxcrosscorrelation/Package
 create mode 100644 hxcrosscorrelation/doc/HxCCRShow.doc
 create mode 100644 hxcrosscorrelation/doc/HxCCRShow_selectReference.png
 create mode 100644 hxcrosscorrelation/doc/HxCrossCorrelation.doc
 create mode 100644 hxcrosscorrelation/doc/HxCrossCorrelation_GPUDevice.png
 create mode 100644 hxcrosscorrelation/doc/HxCrossCorrelation_GPUMemory.png
 create mode 100644 hxcrosscorrelation/doc/HxCrossCorrelation_blockSize.png
 create mode 100644 hxcrosscorrelation/doc/HxCrossCorrelation_nrBlocks.png
 create mode 100644 hxcrosscorrelation/doc/HxCrossCorrelation_timerThreshold.png
 create mode 100644 hxcrosscorrelation/doc/HxDataToSpreadSheet.doc
 create mode 100644 hxcrosscorrelation/doc/HxDataToSpreadSheet_threshold.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowCylinderToCCR.doc
 create mode 100644 hxcrosscorrelation/doc/HxHollowCylinderToCCR_cylinderParameter.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowCylinderToCCR_defineForeground.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowCylinderToCCR_defineForground.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowCylinderToCCR_increment.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowCylinderToCCR_maskParameter.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowCylinderToCCR_options.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowCylinderToCCR_psiRange.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowCylinderToCCR_smoothing.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowCylinderToCCR_thetaRange.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowCylinderToCCR_tiltAngles.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowCylinderToCCR_tiltAxis.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowCylinderToCCR_tiltType.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowCylinderToCCR_voxelSize.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowSphereToCCR.doc
 create mode 100644 hxcrosscorrelation/doc/HxHollowSphereToCCR_defineForground.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowSphereToCCR_increment.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowSphereToCCR_options.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowSphereToCCR_scaleRange.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowSphereToCCR_smoothing.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowSphereToCCR_sphereParameter.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowSphereToCCR_tiltAngles.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowSphereToCCR_tiltAxis.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowSphereToCCR_tiltType.png
 create mode 100644 hxcrosscorrelation/doc/HxHollowSphereToCCR_voxelSize.png
 create mode 100644 hxcrosscorrelation/doc/HxPlaneToCCR.doc
 create mode 100644 hxcrosscorrelation/doc/HxPlaneToCCR_defineForground.png
 create mode 100644 hxcrosscorrelation/doc/HxPlaneToCCR_increment.png
 create mode 100644 hxcrosscorrelation/doc/HxPlaneToCCR_options.png
 create mode 100644 hxcrosscorrelation/doc/HxPlaneToCCR_planeParameter.png
 create mode 100644 hxcrosscorrelation/doc/HxPlaneToCCR_psiRange.png
 create mode 100644 hxcrosscorrelation/doc/HxPlaneToCCR_subdivision.png
 create mode 100644 hxcrosscorrelation/doc/HxPlaneToCCR_thetaRange.png
 create mode 100644 hxcrosscorrelation/doc/HxPlaneToCCR_tiltAngles.png
 create mode 100644 hxcrosscorrelation/doc/HxPlaneToCCR_tiltAxis.png
 create mode 100644 hxcrosscorrelation/doc/HxPlaneToCCR_tiltType.png
 create mode 100644 hxcrosscorrelation/doc/HxPlaneToCCR_voxelSize.png
 create mode 100644 hxcrosscorrelation/doc/HxReferenceIndicesToData_scalar.doc
 create mode 100644 hxcrosscorrelation/doc/HxReferenceIndicesToData_vector.doc
 create mode 100644 hxcrosscorrelation/doc/HxSolidCylinderToCCR.doc
 create mode 100644 hxcrosscorrelation/doc/HxSolidCylinderToCCR_cylinderParameter.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidCylinderToCCR_defineForeground.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidCylinderToCCR_defineForground.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidCylinderToCCR_increment.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidCylinderToCCR_maskParameter.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidCylinderToCCR_options.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidCylinderToCCR_psiRange.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidCylinderToCCR_smoothing.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidCylinderToCCR_thetaRange.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidCylinderToCCR_tiltAngles.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidCylinderToCCR_tiltAxis.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidCylinderToCCR_tiltType.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidCylinderToCCR_voxelSize.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidSphereToCCR.doc
 create mode 100644 hxcrosscorrelation/doc/HxSolidSphereToCCR_defineForground.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidSphereToCCR_increment.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidSphereToCCR_options.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidSphereToCCR_scaleRange.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidSphereToCCR_smoothing.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidSphereToCCR_sphereParameter.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidSphereToCCR_tiltAngles.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidSphereToCCR_tiltAxis.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidSphereToCCR_tiltType.png
 create mode 100644 hxcrosscorrelation/doc/HxSolidSphereToCCR_voxelSize.png
 create mode 100644 hxcrosscorrelation/hxcrosscorrelationWinDLLAPI.h
 create mode 100644 hxcrosscorrelation/share/resources/hxcrosscorrelation.rc
 create mode 100644 hxlineextraction/HxAngularDistribution.cpp
 create mode 100644 hxlineextraction/HxAngularDistribution.h
 create mode 100644 hxlineextraction/HxExtractLines.cpp
 create mode 100644 hxlineextraction/HxExtractLines.h
 create mode 100644 hxlineextraction/HxLinesetToSpreadSheet.cpp
 create mode 100644 hxlineextraction/HxLinesetToSpreadSheet.h
 create mode 100644 hxlineextraction/Package
 create mode 100644 hxlineextraction/doc/HxAngularDistribution.doc
 create mode 100644 hxlineextraction/doc/HxExtractLines.doc
 create mode 100644 hxlineextraction/doc/HxExtractLines_.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_advancedMenu.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_cocircularity.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_coneAutoParameter.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_distance.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_getLabelFields.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_linearity.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_maskRadius.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_minCorrelation.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_minLineLength.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_radius.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_scale.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_searchConeAngle.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_searchConeSize.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_similThreshold.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_similarityFactors.png
 create mode 100644 hxlineextraction/doc/HxExtractLines_timerThreshold.png
 create mode 100644 hxlineextraction/doc/HxLineSetToSpreadSheet.doc
 create mode 100644 hxlineextraction/hxlineextractionWinDLLAPI.h
 create mode 100644 hxlineextraction/share/resources/hxlineextraction.rc
 delete mode 100644 hxneuralnetwork/QxAddFilesDialog.cpp
 delete mode 100644 hxneuralnetwork/QxAddFilesDialog.h
 delete mode 100644 hxneuralnetwork/QxAddFilesDialogUI.ui
 create mode 100644 hxneuralnetwork/SelectionPredicateCellTypeIs.cpp
 create mode 100644 hxneuralnetwork/SelectionPredicateCellTypeIs.h
 rename hxneuralnetwork/{SelectionPredicateHasCellTypeNameTest.cpp => SelectionPredicateCellTypeIsTest.cpp} (66%)
 create mode 100644 hxneuralnetwork/SelectionPredicateCellTypeIsTest.h
 delete mode 100644 hxneuralnetwork/SelectionPredicateHasCellTypeName.cpp
 delete mode 100644 hxneuralnetwork/SelectionPredicateHasCellTypeName.h
 delete mode 100644 hxneuralnetwork/SelectionPredicateHasCellTypeNameTest.h
 rename {hxneuralnetwork => hxneuronkernels}/HxLandmarksInSurface.cpp (100%)
 rename {hxneuralnetwork => hxneuronkernels}/HxLandmarksInSurface.h (92%)
 rename {hxneuralnetwork => hxneuronkernels}/MeasurementFunctions.cpp (100%)
 rename {hxneuralnetwork => hxneuronkernels}/MeasurementFunctions.h (83%)
 create mode 100644 hxscanconvert/Bresenham.cpp
 create mode 100644 hxscanconvert/Bresenham.h
 create mode 100644 hxscanconvert/HxScanConvert.cpp
 create mode 100644 hxscanconvert/HxScanConvert.h
 create mode 100644 hxscanconvert/HxScanConvertCylinder.cpp
 create mode 100644 hxscanconvert/HxScanConvertCylinder.h
 create mode 100644 hxscanconvert/HxScanConvertCylinderHollow.cpp
 create mode 100644 hxscanconvert/HxScanConvertCylinderHollow.h
 create mode 100644 hxscanconvert/HxScanConvertPlane.cpp
 create mode 100644 hxscanconvert/HxScanConvertPlane.h
 create mode 100644 hxscanconvert/HxScanConvertSphere.cpp
 create mode 100644 hxscanconvert/HxScanConvertSphere.h
 create mode 100644 hxscanconvert/HxScanConvertSphereHollow.cpp
 create mode 100644 hxscanconvert/HxScanConvertSphereHollow.h
 create mode 100644 hxscanconvert/Package
 create mode 100644 hxscanconvert/ScanConvert.cpp
 create mode 100644 hxscanconvert/ScanConvert.h
 create mode 100644 hxscanconvert/ScanConvertCylinder.cpp
 create mode 100644 hxscanconvert/ScanConvertCylinder.h
 create mode 100644 hxscanconvert/ScanConvertPlane.cpp
 create mode 100644 hxscanconvert/ScanConvertPlane.h
 create mode 100644 hxscanconvert/ScanConvertSphere.cpp
 create mode 100644 hxscanconvert/ScanConvertSphere.h
 create mode 100644 hxscanconvert/hxscanconvertWinDLLAPI.h
 create mode 100644 hxscanconvert/share/resources/hxscanconvert.rc
 create mode 100644 hxtensordisplay/HxTensorGlyphDisplay.cpp
 create mode 100644 hxtensordisplay/HxTensorGlyphDisplay.h
 create mode 100644 hxtensordisplay/share/shaders/hxtensordisplay/HxTensorGlyphDisplay-Frag.glsl
 create mode 100644 hxtensordisplay/share/shaders/hxtensordisplay/HxTensorGlyphDisplay-Geom.glsl
 create mode 100644 hxtensordisplay/share/shaders/hxtensordisplay/HxTensorGlyphDisplay-Vertex.glsl
 create mode 100644 hxtomtools/HxAverageSlices.cpp
 create mode 100644 hxtomtools/HxAverageSlices.h
 create mode 100644 hxtomtools/HxRemoveSmallSurfaces.cpp
 create mode 100644 hxtomtools/HxRemoveSmallSurfaces.h
 create mode 100644 hxtomtools/Package
 create mode 100644 hxtomtools/doc/HxAverageSlices.doc
 create mode 100644 hxtomtools/doc/HxAverageSlices_numSlices.png
 create mode 100644 hxtomtools/doc/HxRemoveSmallSurfaces.doc
 create mode 100644 hxtomtools/doc/HxRemoveSmallSurfaces_surfaceSize.png
 create mode 100644 hxtomtools/hxtomtoolsWinDLLAPI.h
 create mode 100644 hxtomtools/share/resources/hxtomtools.rc

$ git status
# On branch marianne
nothing to commit (working directory clean)

Do, although there were no conflicts during the merge, and the merge does not seem to touch hxprofile1d/HxComputeProfileAlongAxis.cpp, the local changes in that file are gone. I'm seeing this on Linux and Windows, with versions 1.7.4.3 and 1.7.6.

I'd say this is not expected, or am I missing something?

[1] http://manpages.ubuntu.com/manpages/oneiric/man1/git-merge.1.html

-- 
Sebastian Schuberth

^ permalink raw reply

* [GUILT 1/6] Refuse to push corrupt patches
From: Alan Jenkins @ 2011-09-28 14:15 UTC (permalink / raw)
  To: jeffpc; +Cc: git, Alan Jenkins

"guilt push" would treat corrupt patches as empty,
because "git apply --numstat" prints nothing on stdout.

(You do get an error message on stderr,
 but then guilt says "Patch applied" etc,
 and I didn't notice the earlier error message
 for quite some time.)

Signed-off-by: Alan Jenkins <alan.christopher.jenkins@googlemail.com>
---
 guilt |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/guilt b/guilt
index d1e17d4..51532f9 100755
--- a/guilt
+++ b/guilt
@@ -611,7 +611,7 @@ push_patch()
 		cd_to_toplevel
 
 		# apply the patch if and only if there is something to apply
-		if [ `git apply --numstat "$p" | wc -l` -gt 0 ]; then
+		if [ `do_get_patch "$p" | wc -l` -gt 0 ]; then
 			if [ "$bail_action" = abort ]; then
 				reject=""
 			fi
-- 
1.7.4.1

^ permalink raw reply related

* [GUILT 2/6] guilt-header: fix patch corruption
From: Alan Jenkins @ 2011-09-28 14:15 UTC (permalink / raw)
  To: jeffpc; +Cc: git, Alan Jenkins
In-Reply-To: <1317219324-10319-1-git-send-email-alan.christopher.jenkins@googlemail.com>

Hunks containing the string "END{}" were being corrupted.

Signed-off-by: Alan Jenkins <alan.christopher.jenkins@googlemail.com>
---
 guilt |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/guilt b/guilt
index 51532f9..5d79e0f 100755
--- a/guilt
+++ b/guilt
@@ -341,7 +341,9 @@ do_get_patch()
 {
 	cat "$1" | awk '
 BEGIN{}
-/^(diff |---$|--- )/,/END{}/
+/^(diff |---$|--- )/ {patch = 1}
+patch == 1 {print $0}
+END{}
 '
 }
 
-- 
1.7.4.1

^ permalink raw reply related

* [GUILT 3/6] Handle paths that contain spaces
From: Alan Jenkins @ 2011-09-28 14:15 UTC (permalink / raw)
  To: jeffpc; +Cc: git, Alan Jenkins
In-Reply-To: <1317219324-10319-1-git-send-email-alan.christopher.jenkins@googlemail.com>


Signed-off-by: Alan Jenkins <alan.christopher.jenkins@googlemail.com>
---
 guilt           |    6 +++---
 guilt-applied   |    4 ++--
 guilt-files     |    4 ++--
 guilt-fold      |    2 +-
 guilt-new       |    2 +-
 guilt-next      |    2 +-
 guilt-pop       |   12 ++++++------
 guilt-push      |    6 +++---
 guilt-series    |    4 ++--
 guilt-unapplied |    2 +-
 10 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/guilt b/guilt
index 5d79e0f..9f06b41 100755
--- a/guilt
+++ b/guilt
@@ -196,7 +196,7 @@ get_full_series()
 
 		p
 		}
-		" $series
+		" "$series"
 }
 
 get_series()
@@ -632,7 +632,7 @@ push_patch()
 
 		commit "$pname" HEAD
 
-		echo "$pname" >> $applied
+		echo "$pname" >> "$applied"
 
 		rm -f "$TMP_LOG"
 	)
@@ -739,7 +739,7 @@ __refresh_patch()
 
 		# move the new patch in
 		mv "$p" "$p~"
-		mv "$TMP_DIFF" $p
+		mv "$TMP_DIFF" "$p"
 
 		# commit
 		commit "$pname" "HEAD~$3"
diff --git a/guilt-applied b/guilt-applied
index ead787b..a1f684a 100755
--- a/guilt-applied
+++ b/guilt-applied
@@ -14,7 +14,7 @@ _main() {
 case $# in
 	0)
 		# just output the regular series-style applied list
-		cat $applied
+		cat "$applied"
 	;;
 
 	1)
@@ -22,7 +22,7 @@ case $# in
 			usage
 		fi
 
-		cat $applied | while read pname; do
+		cat "$applied" | while read pname; do
 			git show-ref refs/patches/$branch/$pname | sed -e "s,refs/patches/$branch/,,"
 		done
 	;;
diff --git a/guilt-files b/guilt-files
index 9188070..f31a94c 100755
--- a/guilt-files
+++ b/guilt-files
@@ -34,9 +34,9 @@ top_patch=`get_top`
 
 IFS=:
 if [ -n "$opt_all" ]; then
-	cat $applied
+	cat "$applied"
 else
-	tail -n 1 $applied
+	tail -n 1 "$applied"
 fi | while read patch; do
 	obj=`git rev-parse refs/patches/$branch/$patch`
 
diff --git a/guilt-fold b/guilt-fold
index 9bf0d6e..06fbb7f 100755
--- a/guilt-fold
+++ b/guilt-fold
@@ -36,7 +36,7 @@ if ! must_commit_first; then
 fi
 
 # make sure it is not applied
-pline=`cat $applied | grep -e "^$patch$"`
+pline=`cat "$applied" | grep -e "^$patch$"`
 if [ ! -z "$pline" ]; then
 	die "Patch is applied. Pop the patch first."
 fi
diff --git a/guilt-new b/guilt-new
index c660dfc..402104e 100755
--- a/guilt-new
+++ b/guilt-new
@@ -95,7 +95,7 @@ fi
 series_insert_patch "$patch"
 
 # apply the patch
-echo "$patch" >> $applied
+echo "$patch" >> "$applied"
 commit "$patch" HEAD
 
 }
diff --git a/guilt-next b/guilt-next
index 5ac026b..a0941fc 100755
--- a/guilt-next
+++ b/guilt-next
@@ -21,7 +21,7 @@ while [ $# -ne 0 ]; do
 	shift
 done
 
-n=`wc -l < $applied`
+n=`wc -l < "$applied"`
 n=$(($n + 1))
 
 p=`get_series | awk "{ if (NR == $n) print \\$0}"`
diff --git a/guilt-pop b/guilt-pop
index 77d2c88..df466c7 100755
--- a/guilt-pop
+++ b/guilt-pop
@@ -55,14 +55,14 @@ if [ ! -s "$applied" ]; then
 elif [ "$patch" = "-a" ]; then
 	# we are supposed to pop all patches
 
-	sidx=`wc -l < $applied`
+	sidx=`wc -l < "$applied"`
 	eidx=0
 elif [ ! -z "$num" ]; then
 	# we are supposed to pop a set number of patches
 
 	[ "$patch" -lt 0 ] && die "Invalid number of patches to pop."
 
-	sidx=`wc -l < $applied`
+	sidx=`wc -l < "$applied"`
 	eidx=`expr $sidx - $patch`
 
 	# catch underflow
@@ -71,19 +71,19 @@ elif [ ! -z "$num" ]; then
 elif [ -z "$patch" ]; then
 	# we are supposed to pop only the current patch on the stack
 
-	sidx=`wc -l < $applied`
+	sidx=`wc -l < "$applied"`
 	eidx=`expr $sidx - 1`
 else
 	# we're supposed to pop only up to a patch, make sure the patch is
 	# in the series
 
-	eidx=`cat $applied | grep -ne "^$patch$" | cut -d: -f 1`
+	eidx=`cat "$applied" | grep -ne "^$patch$" | cut -d: -f 1`
 	if [ -z "$eidx" ]; then
 		die "Patch $patch is not in the series/is not applied"
 	fi
 
 	eidx=`expr $eidx - 1`
-	sidx=`wc -l < $applied`
+	sidx=`wc -l < "$applied"`
 fi
 
 # make sure that there are no unapplied changes
@@ -94,7 +94,7 @@ elif ! must_commit_first; then
 	die "Uncommited changes detected. Refresh first."
 fi
 
-l=`awk "BEGIN{n=0}(n==$eidx){print \\$0; exit}{n=n+1}END{}" < $applied`
+l=`awk "BEGIN{n=0}(n==$eidx){print \\$0; exit}{n=n+1}END{}" < "$applied"`
 
 pop_many_patches `git rev-parse refs/patches/$branch/$l^` `expr $sidx - $eidx`
 
diff --git a/guilt-push b/guilt-push
index 05bcef5..d9a8590 100755
--- a/guilt-push
+++ b/guilt-push
@@ -72,7 +72,7 @@ elif [ ! -z "$num" ]; then
 	eidx=`get_series | wc -l`
 
 	# calculate end index from current
-	tidx=`wc -l < $applied`
+	tidx=`wc -l < "$applied"`
 	tidx=`expr $tidx + $patch`
 
 	# clamp to minimum
@@ -81,7 +81,7 @@ elif [ ! -z "$num" ]; then
 elif [ -z "$patch" ]; then
 	# we are supposed to push only the next patch onto the stack
 
-	eidx=`wc -l < $applied`
+	eidx=`wc -l < "$applied"`
 	eidx=`expr $eidx + 1`
 else
 	# we're supposed to push only up to a patch, make sure the patch is
@@ -99,7 +99,7 @@ if ! must_commit_first; then
 fi
 
 # now, find the starting patch
-sidx=`wc -l < $applied`
+sidx=`wc -l < "$applied"`
 sidx=`expr $sidx + 1`
 
 # do we actually have to push anything?
diff --git a/guilt-series b/guilt-series
index d9b1cc2..c87b31e 100755
--- a/guilt-series
+++ b/guilt-series
@@ -30,8 +30,8 @@ if [ ! -z "$edit" ]; then
 	git_editor "$series"
 elif [ ! -z "$gui" ]; then
 	[ -z "`get_top`" ] && die "No patches applied."
-	bottom=`git rev-parse refs/patches/$branch/$(head_n 1 $applied)`
-	top=`git rev-parse refs/patches/$branch/$(tail -n 1 $applied)`
+	bottom=`git rev-parse refs/patches/$branch/$(head_n 1 "$applied")`
+	top=`git rev-parse refs/patches/$branch/$(tail -n 1 "$applied")`
 	range="$bottom..$top"
 
 	# FIXME, this doesn't quite work - it's perfectly fine with
diff --git a/guilt-unapplied b/guilt-unapplied
index 67ee1aa..e703408 100755
--- a/guilt-unapplied
+++ b/guilt-unapplied
@@ -15,7 +15,7 @@ if [ $# -ne 0 ]; then
 	usage
 fi
 
-n=`wc -l < $applied`
+n=`wc -l < "$applied"`
 n=`expr $n + 1`
 
 get_series | sed -n -e "$n,\$p"
-- 
1.7.4.1

^ permalink raw reply related

* [GUILT 6/6] Allow the regression tests to be run from a directory with spaces in
From: Alan Jenkins @ 2011-09-28 14:15 UTC (permalink / raw)
  To: jeffpc; +Cc: git, Alan Jenkins
In-Reply-To: <1317219324-10319-1-git-send-email-alan.christopher.jenkins@googlemail.com>

sed -i regression/*.sh 's|source $REG_DIR/scaffold|source "$REG_DIR/scaffold"|'

Same as the previous patch: it turned out I don't need this,
but you might think it's a good idea anyway.

Signed-off-by: Alan Jenkins <alan.christopher.jenkins@googlemail.com>
---
 regression/t-010.sh |    2 +-
 regression/t-011.sh |    2 +-
 regression/t-020.sh |    2 +-
 regression/t-021.sh |    2 +-
 regression/t-022.sh |    2 +-
 regression/t-023.sh |    2 +-
 regression/t-024.sh |    2 +-
 regression/t-025.sh |    2 +-
 regression/t-026.sh |    2 +-
 regression/t-027.sh |    2 +-
 regression/t-028.sh |    2 +-
 regression/t-029.sh |    2 +-
 regression/t-030.sh |    2 +-
 regression/t-031.sh |    2 +-
 regression/t-032.sh |    2 +-
 regression/t-050.sh |    2 +-
 regression/t-051.sh |    2 +-
 regression/t-052.sh |    2 +-
 regression/t-060.sh |    2 +-
 19 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/regression/t-010.sh b/regression/t-010.sh
index 1fc88fa..9bbf32a 100755
--- a/regression/t-010.sh
+++ b/regression/t-010.sh
@@ -3,7 +3,7 @@
 # Test the init code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 function opts
 {
diff --git a/regression/t-011.sh b/regression/t-011.sh
index fde7b90..55a72d7 100755
--- a/regression/t-011.sh
+++ b/regression/t-011.sh
@@ -4,7 +4,7 @@
 # not guilt init'ed
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_git_repo
 
diff --git a/regression/t-020.sh b/regression/t-020.sh
index 6598b02..cdd08ba 100755
--- a/regression/t-020.sh
+++ b/regression/t-020.sh
@@ -3,7 +3,7 @@
 # Test the push code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-021.sh b/regression/t-021.sh
index 035973c..6337d7b 100755
--- a/regression/t-021.sh
+++ b/regression/t-021.sh
@@ -3,7 +3,7 @@
 # Test the pop code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-022.sh b/regression/t-022.sh
index e43dc0a..0fe345b 100755
--- a/regression/t-022.sh
+++ b/regression/t-022.sh
@@ -3,7 +3,7 @@
 # Test the applied code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-023.sh b/regression/t-023.sh
index 1e976fd..c0530d6 100755
--- a/regression/t-023.sh
+++ b/regression/t-023.sh
@@ -3,7 +3,7 @@
 # Test the top code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-024.sh b/regression/t-024.sh
index 9b11286..38f53aa 100755
--- a/regression/t-024.sh
+++ b/regression/t-024.sh
@@ -3,7 +3,7 @@
 # Test the unapplied code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-025.sh b/regression/t-025.sh
index 6aa9bd3..3824608 100755
--- a/regression/t-025.sh
+++ b/regression/t-025.sh
@@ -3,7 +3,7 @@
 # Test the new code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-026.sh b/regression/t-026.sh
index 5f29352..0ccdf85 100755
--- a/regression/t-026.sh
+++ b/regression/t-026.sh
@@ -3,7 +3,7 @@
 # Test the delete code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-027.sh b/regression/t-027.sh
index ee70229..2f5bb9f 100755
--- a/regression/t-027.sh
+++ b/regression/t-027.sh
@@ -3,7 +3,7 @@
 # Test the refresh code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-028.sh b/regression/t-028.sh
index 83fa879..8480100 100755
--- a/regression/t-028.sh
+++ b/regression/t-028.sh
@@ -3,7 +3,7 @@
 # Test the header code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-029.sh b/regression/t-029.sh
index 83e1d2b..e4036bf 100755
--- a/regression/t-029.sh
+++ b/regression/t-029.sh
@@ -5,7 +5,7 @@
 
 # FIXME: test status file format upgrade code
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-030.sh b/regression/t-030.sh
index 0352948..06bd58f 100755
--- a/regression/t-030.sh
+++ b/regression/t-030.sh
@@ -3,7 +3,7 @@
 # Test the commit code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-031.sh b/regression/t-031.sh
index 9b5db6f..20c2a6b 100755
--- a/regression/t-031.sh
+++ b/regression/t-031.sh
@@ -3,7 +3,7 @@
 # Test the fork code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-032.sh b/regression/t-032.sh
index 3b32da5..b1d5f19 100755
--- a/regression/t-032.sh
+++ b/regression/t-032.sh
@@ -3,7 +3,7 @@
 # Test the import code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-050.sh b/regression/t-050.sh
index 82ac412..88be546 100755
--- a/regression/t-050.sh
+++ b/regression/t-050.sh
@@ -3,7 +3,7 @@
 # Test the series code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-051.sh b/regression/t-051.sh
index a05fcca..293459c 100755
--- a/regression/t-051.sh
+++ b/regression/t-051.sh
@@ -3,7 +3,7 @@
 # Test the commands that use get_*_series, while applying guards
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-052.sh b/regression/t-052.sh
index e9c1a59..f8c60ab 100755
--- a/regression/t-052.sh
+++ b/regression/t-052.sh
@@ -3,7 +3,7 @@
 # Test the commands that use get_*_series, while applying guards
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
diff --git a/regression/t-060.sh b/regression/t-060.sh
index ec33d80..ebe93bd 100755
--- a/regression/t-060.sh
+++ b/regression/t-060.sh
@@ -3,7 +3,7 @@
 # Test the guilt files code
 #
 
-source $REG_DIR/scaffold
+source "$REG_DIR/scaffold"
 
 cmd setup_repo
 
-- 
1.7.4.1

^ permalink raw reply related

* [GUILT 4/6] Run regression tests in a directory which contains spaces
From: Alan Jenkins @ 2011-09-28 14:15 UTC (permalink / raw)
  To: jeffpc; +Cc: git, Alan Jenkins
In-Reply-To: <1317219324-10319-1-git-send-email-alan.christopher.jenkins@googlemail.com>

This helped me in finding some of the issues in the previous patch.

Signed-off-by: Alan Jenkins <alan.christopher.jenkins@googlemail.com>
---
 regression/run-tests |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/regression/run-tests b/regression/run-tests
index 4cb3eb4..a10e796 100755
--- a/regression/run-tests
+++ b/regression/run-tests
@@ -9,9 +9,9 @@ source scaffold
 # usage: empty_repo
 function empty_repo
 {
-	rm -rf $REPODIR
-	mkdir $REPODIR
-	cd $REPODIR > /dev/null
+	rm -rf "$REPODIR"
+	mkdir "$REPODIR"
+	cd "$REPODIR" > /dev/null
 	git init 2> /dev/null > /dev/null
 	cd - > /dev/null
 }
@@ -22,8 +22,9 @@ function test_failed
 Test failed!
 
 Test:		$TESTNAME
-Repo dir:	$REPODIR
 Log file:	$LOGFILE
+Repo dir:	"$REPODIR"
+
 DONE
 	exit 1
 }
@@ -42,7 +43,9 @@ function check_test
 # usage: run_test <test number>
 function run_test
 {
-	export REPODIR="/tmp/guilt.reg.$RANDOM"
+	# We make sure we can handle space characters
+	# by including one in REPODIR.
+	export REPODIR="/tmp/guilt reg.$RANDOM"
 	export LOGFILE="/tmp/guilt.log.$RANDOM"
 	export TESTNAME="$1"
 
@@ -51,7 +54,7 @@ function run_test
 	empty_repo
 
 	# run the test
-	cd $REPODIR > /dev/null
+	cd "$REPODIR" > /dev/null
 	"$REG_DIR/t-$1.sh" 2>&1 > "$LOGFILE"
 	ERR=$?
 	cd - > /dev/null
@@ -61,7 +64,7 @@ function run_test
 
 	echo "done."
 
-	rm -rf $REPODIR $LOGFILE
+	rm -rf "$REPODIR" "$LOGFILE"
 }
 
 case "$1" in
-- 
1.7.4.1

^ permalink raw reply related

* [GUILT 5/6] Allow guilt scripts to be run from a directory which contains spaces
From: Alan Jenkins @ 2011-09-28 14:15 UTC (permalink / raw)
  To: jeffpc; +Cc: git, Alan Jenkins
In-Reply-To: <1317219324-10319-1-git-send-email-alan.christopher.jenkins@googlemail.com>

`dirname $0` breaks if $0 includes spaces.

I don't need this; it was the result of a mis-understanding.
But here it is anyway; take it if you think it's useful.

Signed-off-by: Alan Jenkins <alan.christopher.jenkins@googlemail.com>
---
 guilt               |   22 +++++++++++++---------
 guilt-add           |    2 +-
 guilt-applied       |    2 +-
 guilt-branch        |    2 +-
 guilt-commit        |    2 +-
 guilt-delete        |    2 +-
 guilt-diff          |    2 +-
 guilt-export        |    2 +-
 guilt-files         |    2 +-
 guilt-fold          |    2 +-
 guilt-fork          |    2 +-
 guilt-graph         |    2 +-
 guilt-guard         |    2 +-
 guilt-header        |    2 +-
 guilt-help          |    2 +-
 guilt-import        |    2 +-
 guilt-import-commit |    2 +-
 guilt-init          |    2 +-
 guilt-new           |    2 +-
 guilt-next          |    2 +-
 guilt-patchbomb     |    2 +-
 guilt-pop           |    2 +-
 guilt-prev          |    2 +-
 guilt-push          |    2 +-
 guilt-rebase        |    2 +-
 guilt-refresh       |    2 +-
 guilt-repair        |    2 +-
 guilt-rm            |    2 +-
 guilt-select        |    2 +-
 guilt-series        |    2 +-
 guilt-status        |    2 +-
 guilt-top           |    2 +-
 guilt-unapplied     |    2 +-
 33 files changed, 45 insertions(+), 41 deletions(-)

diff --git a/guilt b/guilt
index 9f06b41..45bdb66 100755
--- a/guilt
+++ b/guilt
@@ -6,12 +6,14 @@
 GUILT_VERSION="0.35"
 GUILT_NAME="Gloria"
 
+GUILT="$(basename "$0")"
+
 # If the first argument is one of the below, display the man page instead of
 # the rather silly and mostly useless usage string
 case $1 in
 	-h|--h|--he|--hel|--help)
 	shift
-	exec "guilt help" "`basename $0`"
+	exec "guilt help" "$GUILT"
 	exit
 	;;
 	-V|--ver|--versi|--versio|--version)
@@ -69,10 +71,12 @@ silent()
 
 ########
 
+GUILT_PATH="$(dirname "$0")"
+
 guilt_commands()
 {
-	find "`dirname $0`/../lib/guilt" -maxdepth 1 -name "guilt-*" -type f -perm +111 2> /dev/null | sed -e "s/.*\\/`basename $0`-//"
-	find "`dirname $0`" -maxdepth 1 -name "guilt-*" -type f -perm +111 | sed -e "s/.*\\/`basename $0`-//"
+	find "$GUILT_PATH/../lib/guilt" -maxdepth 1 -name "guilt-*" -type f -perm +111 2> /dev/null | sed -e "s/.*\\/$GUILT-//"
+	find "$GUILT_PATH" -maxdepth 1 -name "guilt-*" -type f -perm +111 | sed -e "s/.*\\/$GUILT-//"
 }
 
 # by default, we shouldn't fail
@@ -82,8 +86,8 @@ if [ $# -ne 0 ]; then
 	# take first arg, and try to execute it
 
 	arg="$1"
-	dir=`dirname $0`
-	libdir="`dirname $0`/../lib/guilt"
+	dir="$GUILT_PATH"
+	libdir="$GUILT_PATH/../lib/guilt"
 
 	if [ -x "$dir/guilt-$arg" ]; then
 		cmd="$dir/guilt-$arg"
@@ -870,10 +874,10 @@ pager="more"
 
 UNAME_S=`uname -s`
 
-if [ -r "`dirname $0`/os.$UNAME_S" ]; then
-	. "`dirname $0`/os.$UNAME_S"
-elif [ -r "`dirname $0`/../lib/guilt/os.$UNAME_S" ]; then
-	. "`dirname $0`/../lib/guilt/os.$UNAME_S"
+if [ -r "$GUILT_PATH/os.$UNAME_S" ]; then
+	. "$GUILT_PATH/os.$UNAME_S"
+elif [ -r "$GUILT_PATH/../lib/guilt/os.$UNAME_S" ]; then
+	. "$GUILT_PATH/../lib/guilt/os.$UNAME_S"
 else
 	die "Unsupported operating system: $UNAME_S"
 fi
diff --git a/guilt-add b/guilt-add
index 6529949..8a6b5a7 100755
--- a/guilt-add
+++ b/guilt-add
@@ -5,7 +5,7 @@
 
 USAGE="<file>..."
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-applied b/guilt-applied
index a1f684a..a84f1f7 100755
--- a/guilt-applied
+++ b/guilt-applied
@@ -5,7 +5,7 @@
 
 USAGE="[-c]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-branch b/guilt-branch
index 909f740..3e88321 100755
--- a/guilt-branch
+++ b/guilt-branch
@@ -5,7 +5,7 @@
 
 USAGE="[<new_name>]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-commit b/guilt-commit
index 4228be6..4ef6605 100755
--- a/guilt-commit
+++ b/guilt-commit
@@ -5,7 +5,7 @@
 
 USAGE="-n <num> | -a | --all"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-delete b/guilt-delete
index 4ab9c94..551e6a4 100755
--- a/guilt-delete
+++ b/guilt-delete
@@ -5,7 +5,7 @@
 
 USAGE="[-f] <patchname>"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-diff b/guilt-diff
index 0061926..182fa59 100755
--- a/guilt-diff
+++ b/guilt-diff
@@ -5,7 +5,7 @@
 
 USAGE="[-z] [<path>...]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-export b/guilt-export
index 8361902..62c1ef6 100755
--- a/guilt-export
+++ b/guilt-export
@@ -5,7 +5,7 @@
 
 USAGE="[<target_dir>]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-files b/guilt-files
index f31a94c..aab35d5 100755
--- a/guilt-files
+++ b/guilt-files
@@ -5,7 +5,7 @@
 
 USAGE="[-v] [-a] [-l]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-fold b/guilt-fold
index 06fbb7f..07d77a1 100755
--- a/guilt-fold
+++ b/guilt-fold
@@ -5,7 +5,7 @@
 
 USAGE="[-k] <patchname>"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-fork b/guilt-fork
index 8d58ffd..5677e1b 100755
--- a/guilt-fork
+++ b/guilt-fork
@@ -5,7 +5,7 @@
 
 USAGE="[<new_name>]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-graph b/guilt-graph
index 496a831..1c9fade 100755
--- a/guilt-graph
+++ b/guilt-graph
@@ -5,7 +5,7 @@
 
 USAGE="[<patchname>]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-guard b/guilt-guard
index 2c12fca..ada7f45 100755
--- a/guilt-guard
+++ b/guilt-guard
@@ -5,7 +5,7 @@
 
 USAGE="[-l | --list | -n | --none | [<patchname>] [(+|-)<guard>...]]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-header b/guilt-header
index 9910708..19cfd45 100755
--- a/guilt-header
+++ b/guilt-header
@@ -5,7 +5,7 @@
 
 USAGE="[-eE] [<patchname>]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-help b/guilt-help
index e1807a8..001ddfb 100755
--- a/guilt-help
+++ b/guilt-help
@@ -7,7 +7,7 @@ DO_NOT_CHECK_BRANCH_EXISTENCE=1
 
 USAGE="[<command> | <topic>]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-import b/guilt-import
index 72ba7c3..041d20a 100755
--- a/guilt-import
+++ b/guilt-import
@@ -5,7 +5,7 @@
 
 USAGE="[-P <patch> ] <patch_file>"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-import-commit b/guilt-import-commit
index 3045a5f..1784f26 100755
--- a/guilt-import-commit
+++ b/guilt-import-commit
@@ -5,7 +5,7 @@
 
 USAGE="[<hash> | <since>..[<until>] | ..<until>]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-init b/guilt-init
index 646e24b..148699c 100755
--- a/guilt-init
+++ b/guilt-init
@@ -7,7 +7,7 @@ DO_NOT_CHECK_BRANCH_EXISTENCE=1
 
 USAGE=""
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-new b/guilt-new
index 402104e..0803063 100755
--- a/guilt-new
+++ b/guilt-new
@@ -5,7 +5,7 @@
 
 USAGE="[-f] [-s] [-e|-m message] <patchname>"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-next b/guilt-next
index a0941fc..c7263f1 100755
--- a/guilt-next
+++ b/guilt-next
@@ -5,7 +5,7 @@
 
 USAGE="[-p|--path]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-patchbomb b/guilt-patchbomb
index b72a706..c61cd1b 100755
--- a/guilt-patchbomb
+++ b/guilt-patchbomb
@@ -7,7 +7,7 @@ DO_NOT_CHECK_BRANCH_EXISTENCE=1
 
 USAGE="[-n] [-s] [--in-reply-to <msgid>] [--git] [--subject-prefix <prefix>] [<hash> | <since>..[<until>] | ..<until>]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-pop b/guilt-pop
index df466c7..1e36f00 100755
--- a/guilt-pop
+++ b/guilt-pop
@@ -5,7 +5,7 @@
 
 USAGE="[-f] [-a | --all | -n <num> | <patchname>]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-prev b/guilt-prev
index d454030..31c054c 100755
--- a/guilt-prev
+++ b/guilt-prev
@@ -5,7 +5,7 @@
 
 USAGE="[-p|--path]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-push b/guilt-push
index d9a8590..4a54d07 100755
--- a/guilt-push
+++ b/guilt-push
@@ -5,7 +5,7 @@
 
 USAGE="[ -f ] [-a | --all | -n <num> | <patchname>]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-rebase b/guilt-rebase
index 614ba22..c33022f 100755
--- a/guilt-rebase
+++ b/guilt-rebase
@@ -7,7 +7,7 @@
 
 USAGE="<upstream>"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-refresh b/guilt-refresh
index f764937..4e22929 100755
--- a/guilt-refresh
+++ b/guilt-refresh
@@ -5,7 +5,7 @@
 
 USAGE="[--git] [--diffstat]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-repair b/guilt-repair
index 77ad223..99df731 100755
--- a/guilt-repair
+++ b/guilt-repair
@@ -7,7 +7,7 @@ DO_NOT_CHECK_STATUS_FILE_FORMAT=1
 
 USAGE="--full | --status"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-rm b/guilt-rm
index 351ec93..d68622b 100755
--- a/guilt-rm
+++ b/guilt-rm
@@ -5,7 +5,7 @@
 
 USAGE="<file>..."
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-select b/guilt-select
index 8b139d4..fb7941b 100755
--- a/guilt-select
+++ b/guilt-select
@@ -5,7 +5,7 @@
 
 USAGE="[ -n | --none | -s | --series | [--pop|--reapply] <guards...> ]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-series b/guilt-series
index c87b31e..f8cd7c7 100755
--- a/guilt-series
+++ b/guilt-series
@@ -5,7 +5,7 @@
 
 USAGE="[-v | -g | -e]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-status b/guilt-status
index c701fd1..b4cd1eb 100755
--- a/guilt-status
+++ b/guilt-status
@@ -5,7 +5,7 @@
 
 USAGE="[-a|-A] [-c|-C] [-d|-D] [-m|-M] [-r|-R] [-t|-T] [-u|-U] [-x|-X] [-n]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-top b/guilt-top
index 3b1d596..6215009 100755
--- a/guilt-top
+++ b/guilt-top
@@ -5,7 +5,7 @@
 
 USAGE="[-p|--path]"
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
diff --git a/guilt-unapplied b/guilt-unapplied
index e703408..9aec87a 100755
--- a/guilt-unapplied
+++ b/guilt-unapplied
@@ -5,7 +5,7 @@
 
 USAGE=""
 if [ -z "$GUILT_VERSION" ]; then
-	echo "Invoking `basename $0` directly is no longer supported." >&2
+	echo "Invoking $GUILT directly is no longer supported." >&2
 	exit 1
 fi
 
-- 
1.7.4.1

^ permalink raw reply related

* Re: [PATCH] Docs: git checkout --orphan: `root commit' and `branch head'
From: Michael Witten @ 2011-09-28 14:35 UTC (permalink / raw)
  To: Matthieu Moy
  Cc: Junio C Hamano, Jeff King, Philip Oakley, Eric Raible,
	Michael J Gruber, Carlos Martín Nieto, vra5107, git
In-Reply-To: <vpq4nzwoj1o.fsf@bauges.imag.fr>

On Wed, Sep 28, 2011 at 14:09, Matthieu Moy
<Matthieu.Moy@grenoble-inp.fr> wrote:

> Michael Witten <mfwitten@gmail.com> writes:
>
>> Well, as Junio mentioned, "--orphan" could be deprecated in favor of
>> "--no-parent"; the uncommon nature of this task works to our
>> advantage, in that it makes a deprecation of "--orphan" easy.
>
> I agree that _some_ cases would be more natural with commit --no-parent,
> but I disagree that it is a better solution in general.
>
> For example
>
> # I want to create a new root commit with a different tree
> git rm -fr *
> vi file-in-new-project.txt
> git add file-in-new-project.txt
> # continue hacking for a while
> git commit -m "New project" # oops, I forgot the --no-parent
>
> History is not destroyed and you can still "git reset" back to the
> previous commit, but you've at least temporarily damaged your branch
> (and no --force flag could have prevented it). With "git checkout
> --orphan" in the above scenario, you run the command at the time you
> take the decision you want to create a root commit, and then hack
> normally.
>
> Even if you use it normally:
>
> # I want to create a new root commit with a different tree
> git checkout -b new-project
> # hack for a while
> git status
> # ?!? why are files shown as 'deleted', 'moved', 'modified', I said I
> # was creating a new project!
>
> Also, with your proposal, we would need to add two flags to "commit"
> (--no-parent and --force), which is one of the first command beginners
> learn, while in the current state we have just one for "checkout" to do
> the trick, and newbies do not use or read the doc for checkout, so it's
> not scary for them.

Well, those are mildly interesting scenarios. I can only say that I don't
think we should cater to people who either have amnesia or work casually
on a repository for short bursts every few months or so.

^ permalink raw reply

* Re: [PATCH] git-send-email.perl: expand filename of aliasesfile
From: Cord Seele @ 2011-09-28 14:40 UTC (permalink / raw)
  To: Matthieu Moy; +Cc: git, Junio C Hamano, Eric Wong
In-Reply-To: <vpqwrcspyvq.fsf@bauges.imag.fr>

On Wed 28 Sep 2011 15:42:01 +0200, Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> wrote:

> Cord Seele <cowose@googlemail.com> writes:
> 
> > -		open my $fh, '<', $file or die "opening $file: $!\n";
> > +		open my $fh, '<', glob($file) or die "opening $file: $!\n";
> 
> That'd be cleaner to use
> 
> git config --path sendemail.aliasesfile
> 
> to let Git do the right expansion, in a way consistant with other places
> of Git.

This means to expand it at 'git config' time? Wouldn't it be nicer to
have it expanded when you run 'git send-email'? Then you could move your
~/.gitconfig (that's where I have my aliasesfile configured) between different
accounts and it could still work.

-- Cord

^ permalink raw reply

* error: addinfo_cache failed during merge
From: Stephen Bash @ 2011-09-28 14:44 UTC (permalink / raw)
  To: git discussion list
In-Reply-To: <8172019.33448.1317219409234.JavaMail.root@mail.hq.genarts.com>

Hi all-

I'm in the process of implementing whitespace and EOL normalization for our repo.  Having completed the work on our oldest maintenance branch, I'm attempting to merge the changes recursively into newer branches.

My approach is to merge using '-s recursive -X ours --no-commit' since the only conflicts are whitespace/EOL changes and I have to renormalize the current branch before committing anyway (new files, etc.).  Unfortunately, during the merge, I got a bunch of errors like this:

error: addinfo_cache failed for path 'foo/bar.h'

So first, is this important?  Second, can that message be replaced with something more helpful?  I'm not exactly a newbie, and I certainly can't grok that message...

Doing a bit of archeology, pickaxe shows it arose in 0424138 "Fix bogus error message from merge-recursive error path", but that was Junio cleaning up the message a bit.  The original message is from the creation of merge-recursive.c in 6d297f8 "Status update on merge-recursive in C".  I should caveat that my local git/git is a little out of date because I haven't repointed it since k.org went down (I use it very rarely), so there might be something newer in this area.

Thanks,
Stephen

^ permalink raw reply

* Re: [PATCH] Docs: git checkout --orphan: `root commit' and `branch head'
From: Matthieu Moy @ 2011-09-28 14:45 UTC (permalink / raw)
  To: Michael Witten
  Cc: Junio C Hamano, Jeff King, Philip Oakley, Eric Raible,
	Michael J Gruber, Carlos Martín Nieto, vra5107, git
In-Reply-To: <CAMOZ1Btw7Bf3_ejZef_SdRojyVeM94knyz9Gw+SEqFtrrpBVsA@mail.gmail.com>

Michael Witten <mfwitten@gmail.com> writes:

>> Even if you use it normally:
>>
>> # I want to create a new root commit with a different tree
>> git checkout -b new-project
>> # hack for a while
>> git status
>> # ?!? why are files shown as 'deleted', 'moved', 'modified', I said I
>> # was creating a new project!
>>
>> Also, with your proposal, we would need to add two flags to "commit"
>> (--no-parent and --force), which is one of the first command beginners
>> learn, while in the current state we have just one for "checkout" to do
>> the trick, and newbies do not use or read the doc for checkout, so it's
>> not scary for them.
>
> Well, those are mildly interesting scenarios. I can only say that I don't
> think we should cater to people who either have amnesia or work casually
> on a repository for short bursts every few months or so.

How is the "git status" issue above linked to any kind of amnesia?

When hacking to create a rootless commit, it seems legitimate to me to
run "git status", and it seems _very_ confusing that "git status" still
refers to the commit you don't want as parent.

(I don't get the relation between your reply and the paragraph right
above it either)

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

^ permalink raw reply

* Re: [PATCH] git-send-email.perl: expand filename of aliasesfile
From: Matthieu Moy @ 2011-09-28 14:47 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano, Eric Wong
In-Reply-To: <20110928144057.GC12586@laptop>

Cord Seele <cowose@googlemail.com> writes:

> On Wed 28 Sep 2011 15:42:01 +0200, Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> wrote:
>> That'd be cleaner to use
>> 
>> git config --path sendemail.aliasesfile
>> 
>> to let Git do the right expansion, in a way consistant with other places
>> of Git.
>
> This means to expand it at 'git config' time?

Yes, but not the "git config" ran to set the value. The one ran
internally by "git send-email" through Git::config(). You may add --get
to my command line above.

> Wouldn't it be nicer to have it expanded when you run 'git
> send-email'? Then you could move your ~/.gitconfig (that's where I
> have my aliasesfile configured) between different accounts and it
> could still work.

That works with my proposal.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

^ permalink raw reply

* Re: git-rebase skips automatically no more needed commits
From: Martin von Zweigbergk @ 2011-09-28 14:49 UTC (permalink / raw)
  To: Thomas Rast
  Cc: Ramkumar Ramachandra, Junio C Hamano, Francis Moreau,
	Michael J Gruber, git
In-Reply-To: <201109261110.59940.trast@student.ethz.ch>

On Mon, Sep 26, 2011 at 5:10 AM, Thomas Rast <trast@student.ethz.ch> wrote:
> Martin von Zweigbergk wrote:
>>
>> If I understand correctly, [rebase --root] was introduced to solve
>> exactly the same reason problem that made Francis start this thread
>> -- to avoid re-applying patches that are already in $onto.
>
> Not quite; I wrote it because at the time, there was no way to
> transplant git history onto a git-svn "make empty subdir" commit for
> later dcommitting.  So the main point was really

But that was only due to the bug/limitation in format-patch that you
(?) fixed a few days later, no?

> I still think it would be natural for a user to want a way to say "all
> the way back to the root commit".  At least for me the "full" rebase
> invocation is
>
>  git rebase --onto onto base branch

Sure, I can understand that. Still,  it would just be an alternative
syntax and nothing else. So I think I should also update the
documentation after my other patches to make it clear that that is the
case. We also have to think about backwards compatibility, so I'm
obviously not suggesting that we should stop supporting the flag; I
just wanted to make sure that it is not technically needed.

>> I saw that
>> "--root" is also passed to the hook. Should that value be passed to
>> the hook also when the old base is not explicitly a root (by "rebase
>> --root"), but only implicitly so (by an $onto that is disjoint from
>> $branch)?
>
> I think I did it that way because if you use --root, the base/upstream
> argument is missing, and the hook needs to know that.
>
> If the user specifies an upstream that is disjoint from the branch
> itself, the hook gets the upstream argument and can presumably work it
> out from there.  So you could perhaps save the hook some trouble if
> you *know* that it's a disjoint rebase, but I wouldn't spend too much
> time on that.

The hook would still have to be able to handle both cases (i.e.
getting the upstream argument as "--root" or simply a commit that
happens to be disjoint from the the branch-to-be-rebased). I believe
that has been the case since that bug in format-patch was fixed. So if
we were to change git-rebase so it no longer passes the --root flag to
the hook, I think any (correctly written) hooks should still work. I
don't see much reason to change it, though; if the user uses the
--root syntax, we can pass the flag, otherwise we don't.

Martin

^ permalink raw reply

* Re: [PATCH] Docs: git checkout --orphan: `root commit' and `branch head'
From: Michael Witten @ 2011-09-28 15:06 UTC (permalink / raw)
  To: Matthieu Moy
  Cc: Junio C Hamano, Jeff King, Philip Oakley, Eric Raible,
	Michael J Gruber, Carlos Martín Nieto, vra5107, git
In-Reply-To: <vpq39fglo8y.fsf@bauges.imag.fr>

On Wed, Sep 28, 2011 at 14:45, Matthieu Moy
<Matthieu.Moy@grenoble-inp.fr> wrote:
> Michael Witten <mfwitten@gmail.com> writes:
>
>>> Even if you use it normally:
>>>
>>> # I want to create a new root commit with a different tree
>>> git checkout -b new-project
>>> # hack for a while
>>> git status
>>> # ?!? why are files shown as 'deleted', 'moved', 'modified', I said I
>>> # was creating a new project!
>>>
>>> Also, with your proposal, we would need to add two flags to "commit"
>>> (--no-parent and --force), which is one of the first command beginners
>>> learn, while in the current state we have just one for "checkout" to do
>>> the trick, and newbies do not use or read the doc for checkout, so it's
>>> not scary for them.
>>
>> Well, those are mildly interesting scenarios. I can only say that I don't
>> think we should cater to people who either have amnesia or work casually
>> on a repository for short bursts every few months or so.
>
> How is the "git status" issue above linked to any kind of amnesia?
>
> When hacking to create a rootless commit, it seems legitimate to me to
> run "git status", and it seems _very_ confusing that "git status" still
> refers to the commit you don't want as parent.

I think "confusing" is perhaps the wrong word. How about "annoying"?

I suppose it is true that neither "--orphan" nor "--no-parent" is good
enough alone. For instance:

  # I want to create a new root commit with a slightly different tree
  git checkout --orphan new-project
  # hack just a bit here and there
  git status
  # ?!? My slight alterations are obscured by hundreds of these
  #     "new file" status notifications!

> (I don't get the relation between your reply and the paragraph right
> above it either)

Is that a passive aggressive French way to state that I didn't respond
to your concern?

I think it's moot now, anyway, given that both "--orphan" and
"--no-parent" quite possibly have their logical purposes. However,
perhaps:

  git checkout --orphan

should be renamed:

  git checkout --no-parent

in order to match:

  git commit --no-parent

^ permalink raw reply

* Re: error: addinfo_cache failed during merge
From: Stephen Bash @ 2011-09-28 15:24 UTC (permalink / raw)
  To: git discussion list
In-Reply-To: <26411548.33530.1317221043429.JavaMail.root@mail.hq.genarts.com>

----- Original Message -----
> From: "Stephen Bash" <bash@genarts.com>
> To: "git discussion list" <git@vger.kernel.org>
> Sent: Wednesday, September 28, 2011 10:44:03 AM
> Subject: error: addinfo_cache failed during merge
>
> Unfortunately, during the merge, I got a bunch of errors like
> this:
> 
> error: addinfo_cache failed for path 'foo/bar.h'
> 
> So first, is this important?

Well, to my uneducated eye, it looks like the error just left the conflicts in the working copy rather than resolving them.  Running mergetool appears to have cleaned up the problems.

Thanks,
Stephen

^ permalink raw reply

* Re: error: addinfo_cache failed during merge
From: Junio C Hamano @ 2011-09-28 15:24 UTC (permalink / raw)
  To: Stephen Bash; +Cc: git discussion list
In-Reply-To: <26411548.33530.1317221043429.JavaMail.root@mail.hq.genarts.com>

Stephen Bash <bash@genarts.com> writes:

> ... I should caveat that my local git/git is a little out of date
> because I haven't repointed it since k.org went down (I use it very
> rarely), so there might be something newer in this area.

Indeed there have been a few fixs in this area and it would be really nice
if you can test this with the latest master branch before 1.7.7 final
ships.

^ permalink raw reply

* Re: Merge seems to overwrite unstaged local changes
From: Junio C Hamano @ 2011-09-28 15:25 UTC (permalink / raw)
  To: Sebastian Schuberth; +Cc: git
In-Reply-To: <j5v9r7$fi1$1@dough.gmane.org>

Sebastian Schuberth <sschuberth@gmail.com> writes:

> ... I'm seeing this on Linux and Windows, with versions 1.7.4.3 and 1.7.6.

There recently have been quite a change in merge-recursive implementation
and it would be really nice if you can try this again with the tip of
'master' before 1.7.7 final ships.

Thanks.

^ permalink raw reply

* Re: error: addinfo_cache failed during merge
From: Stephen Bash @ 2011-09-28 15:33 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git discussion list
In-Reply-To: <7vehz01yhx.fsf@alter.siamese.dyndns.org>

----- Original Message -----
> From: "Junio C Hamano" <gitster@pobox.com>
> To: "Stephen Bash" <bash@genarts.com>
> Cc: "git discussion list" <git@vger.kernel.org>
> Sent: Wednesday, September 28, 2011 11:24:10 AM
> Subject: Re: error: addinfo_cache failed during merge
>
> Stephen Bash <bash@genarts.com> writes:
> 
> > ... I should caveat that my local git/git is a little out of date
> > because I haven't repointed it since k.org went down (I use it very
> > rarely), so there might be something newer in this area.
> 
> Indeed there have been a few fixs in this area and it would be really 
> nice if you can test this with the latest master branch before 1.7.7 
> final ships.

Okay.  Will do right now.

Thanks,
Stephen

^ permalink raw reply

* [PATCH/RFCv3 2/2] receive-pack: don't pass non-existent refs to post-{receive,update} hooks in push deletions
From: Pang Yan Han @ 2011-09-28 15:39 UTC (permalink / raw)
  To: git
  Cc: Junio C Hamano, Sitaram Chamarty, Shawn O. Pearce, Jeff King,
	Johannes Schindelin

When a push specifies deletion of non-existent refs, the post post-receive and
post-update hooks receive as input/arguments the non-existent refs.

For instance, for the following push, where refs/heads/nonexistent is a ref
which does not exist on the remote side:

	git push origin :refs/heads/nonexistent

the post-receive hook receives from standard input:

	<null-sha1> SP <null-sha1> SP refs/heads/nonexistent

and the post-update hook receives as arguments:

	refs/heads/nonexistent

which does not make sense since it is a no-op.

Teach receive-pack to not pass non-existent refs as input / arguments to the
post-receive and post-update hooks in the event of a push involving
non-existent ref deletion.

Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
---
 builtin/receive-pack.c |   31 ++++++++-
 t/t5516-fetch-push.sh  |  170 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 197 insertions(+), 4 deletions(-)

diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c
index ae164da..8a0a9d2 100644
--- a/builtin/receive-pack.c
+++ b/builtin/receive-pack.c
@@ -153,6 +153,26 @@ struct command {
 	char ref_name[FLEX_ARRAY]; /* more */
 };
 
+/* For invalid refs */
+static struct command **invalid_delete;
+static size_t invalid_delete_nr;
+static size_t invalid_delete_alloc;
+
+static void invalid_delete_append(struct command *cmd)
+{
+	ALLOC_GROW(invalid_delete, invalid_delete_nr + 1, invalid_delete_alloc);
+	invalid_delete[invalid_delete_nr++] = cmd;
+}
+
+static int is_invalid_delete(struct command *cmd)
+{
+	size_t i;
+	for (i = 0; i < invalid_delete_nr; i++)
+		if (invalid_delete[i] == cmd)
+			return 1;
+	return 0;
+}
+
 static const char pre_receive_hook[] = "hooks/pre-receive";
 static const char post_receive_hook[] = "hooks/post-receive";
 
@@ -215,7 +235,7 @@ static int run_receive_hook(struct command *commands, const char *hook_name)
 	int have_input = 0, code;
 
 	for (cmd = commands; !have_input && cmd; cmd = cmd->next) {
-		if (!cmd->error_string)
+		if (!cmd->error_string && !is_invalid_delete(cmd))
 			have_input = 1;
 	}
 
@@ -248,7 +268,7 @@ static int run_receive_hook(struct command *commands, const char *hook_name)
 	}
 
 	for (cmd = commands; cmd; cmd = cmd->next) {
-		if (!cmd->error_string) {
+		if (!cmd->error_string && !is_invalid_delete(cmd)) {
 			size_t n = snprintf(buf, sizeof(buf), "%s %s %s\n",
 				sha1_to_hex(cmd->old_sha1),
 				sha1_to_hex(cmd->new_sha1),
@@ -447,6 +467,8 @@ static const char *update(struct command *cmd)
 		if (!parse_object(old_sha1)) {
 			rp_warning("Allowing deletion of corrupt ref.");
 			old_sha1 = NULL;
+			if (!ref_exists((char *) name))
+				invalid_delete_append(cmd);
 		}
 		if (delete_ref(namespaced_name, old_sha1, 0)) {
 			rp_error("failed to delete %s", name);
@@ -477,7 +499,7 @@ static void run_update_post_hook(struct command *commands)
 	struct child_process proc;
 
 	for (argc = 0, cmd = commands; cmd; cmd = cmd->next) {
-		if (cmd->error_string)
+		if (cmd->error_string || is_invalid_delete(cmd))
 			continue;
 		argc++;
 	}
@@ -488,7 +510,7 @@ static void run_update_post_hook(struct command *commands)
 
 	for (argc = 1, cmd = commands; cmd; cmd = cmd->next) {
 		char *p;
-		if (cmd->error_string)
+		if (cmd->error_string || is_invalid_delete(cmd))
 			continue;
 		p = xmalloc(strlen(cmd->ref_name) + 1);
 		strcpy(p, cmd->ref_name);
@@ -866,5 +888,6 @@ int cmd_receive_pack(int argc, const char **argv, const char *prefix)
 	}
 	if (use_sideband)
 		packet_flush(1);
+	free(invalid_delete);
 	return 0;
 }
diff --git a/t/t5516-fetch-push.sh b/t/t5516-fetch-push.sh
index 3abb290..c0d8a0e 100755
--- a/t/t5516-fetch-push.sh
+++ b/t/t5516-fetch-push.sh
@@ -40,6 +40,39 @@ mk_test () {
 	)
 }
 
+mk_test_with_hooks() {
+	mk_test "$@" &&
+	(
+	cd testrepo &&
+	mkdir .git/hooks &&
+	cd .git/hooks &&
+
+	cat >pre-receive <<'EOF' &&
+#!/bin/sh
+cat - >>pre-receive.actual
+EOF
+
+	cat >update <<'EOF' &&
+#!/bin/sh
+printf "%s %s %s\n" "$@" >>update.actual
+EOF
+	cat >post-receive <<'EOF' &&
+#!/bin/sh
+cat - >>post-receive.actual
+EOF
+
+	cat >post-update <<'EOF' &&
+#!/bin/sh
+for ref in "$@"
+do
+	printf "%s\n" "$ref" >>post-update.actual
+done
+EOF
+
+	chmod u+x pre-receive update post-receive post-update
+	)
+}
+
 mk_child() {
 	rm -rf "$1" &&
 	git clone testrepo "$1"
@@ -559,6 +592,143 @@ test_expect_success 'allow deleting an invalid remote ref' '
 
 '
 
+test_expect_success 'pushing valid refs triggers post-receive and post-update hooks' '
+	mk_test_with_hooks heads/master heads/next &&
+	orgmaster=$(cd testrepo && git show-ref -s --verify refs/heads/master) &&
+	newmaster=$(git show-ref -s --verify refs/heads/master) &&
+	orgnext=$(cd testrepo && git show-ref -s --verify refs/heads/next) &&
+	newnext=$_z40 &&
+	git push testrepo refs/heads/master:refs/heads/master :refs/heads/next &&
+	(cd testrepo/.git &&
+	cat >pre-receive.expect <<'EOF' &&
+$orgmaster $newmaster refs/heads/master
+$orgnext $newnext refs/heads/next
+EOF
+
+	cat >update.expect <<'EOF' &&
+refs/heads/master $orgmaster $newmaster
+refs/heads/next $orgnext $newnext
+EOF
+
+	cat >post-receive.expect <<'EOF' &&
+$orgmaster $newmaster refs/heads/master
+$orgnext $newnext refs/heads/next
+EOF
+
+	cat >post-update.expect <<'EOF' &&
+refs/heads/master
+refs/heads/next
+EOF
+
+	test_cmp pre-receive.expect pre-receive.actual &&
+	test_cmp update.expect update.actual &&
+	test_cmp post-receive.expect post-receive.actual &&
+	test_cmp post-update.expect post-update.actual
+	)
+'
+
+test_expect_success 'deleting dangling ref triggers hooks with correct args' '
+	mk_test_with_hooks heads/master &&
+	rm -f testrepo/.git/objects/??/* &&
+	git push testrepo :refs/heads/master &&
+	(cd testrepo/.git &&
+	cat >pre-receive.expect <<'EOF' &&
+$_z40 $_z40 refs/heads/master
+EOF
+
+	cat >update.expect <<'EOF' &&
+refs/heads/master $_z40 $_z40
+EOF
+
+	cat >post-receive.expect <<'EOF' &&
+$_z40 $_z40 refs/heads/master
+EOF
+
+	cat >post-update.expect <<'EOF' &&
+refs/heads/master
+EOF
+
+	test_cmp pre-receive.expect pre-receive.actual &&
+	test_cmp update.expect update.actual &&
+	test_cmp post-receive.expect post-receive.actual &&
+	test_cmp post-update.expect post-update.actual
+	)
+'
+
+test_expect_success 'deleting non-existent ref does not trigger post-receive and post-update hooks' '
+	mk_test_with_hooks heads/master &&
+	orgmaster=$(cd testrepo && git show-ref -s --verify refs/heads/master) &&
+	newmaster=$(git show-ref -s --verify refs/heads/master) &&
+	git push testrepo master :refs/heads/nonexistent &&
+	(cd testrepo/.git &&
+	cat >pre-receive.expect <<'EOF' &&
+$orgmaster $newmaster refs/heads/master
+$_z40 $_z40 refs/heads/nonexistent
+EOF
+
+	cat >update.expect <<'EOF' &&
+refs/heads/master $orgmaster $newmaster
+refs/heads/nonexistent $_z40 $_z40
+EOF
+
+	cat >post-receive.expect <<'EOF' &&
+$orgmaster $newmaster refs/heads/master
+EOF
+
+	cat >post-update.expect <<'EOF' &&
+refs/heads/master
+EOF
+
+	test_cmp pre-receive.expect pre-receive.actual &&
+	test_cmp update.expect update.actual &&
+	test_cmp post-receive.expect post-receive.actual &&
+	test_cmp post-update.expect post-update.actual
+	)
+'
+
+test_expect_success 'mixed ref updates, deletes, invalid deletes trigger hooks with correct input' '
+	mk_test_with_hooks heads/master heads/next heads/pu &&
+	orgmaster=$(cd testrepo && git show-ref -s --verify refs/heads/master) &&
+	newmaster=$(git show-ref -s --verify refs/heads/master) &&
+	orgnext=$(cd testrepo && git show-ref -s --verify refs/heads/next) &&
+	newnext=$_z40 &&
+	orgpu=$(cd testrepo && git show-ref -s --verify refs/heads/pu) &&
+	newpu=$(git show-ref -s --verify refs/heads/master) &&
+	git push testrepo refs/heads/master:refs/heads/master refs/heads/master:refs/heads/pu :refs/heads/next :refs/heads/nonexistent &&
+	(cd testrepo/.git &&
+	cat >pre-receive.expect <<'EOF' &&
+$orgmaster $newmaster refs/heads/master
+$orgnext $newnext refs/heads/next
+$orgpu $newpu refs/heads/pu
+$_z40 $_z40 refs/heads/nonexistent
+EOF
+
+	cat >update.expect <<'EOF' &&
+refs/heads/master $orgmaster $newmaster
+refs/heads/next $orgnext $newnext
+refs/heads/pu $orgpu $newpu
+refs/heads/nonexistent $_z40 $_z40
+EOF
+
+	cat >post-receive.expect <<'EOF' &&
+$orgmaster $newmaster refs/heads/master
+$orgnext $newnext refs/heads/next
+$orgpu $newpu refs/heads/pu
+EOF
+
+	cat >post-update.expect <<'EOF' &&
+refs/heads/master
+refs/heads/next
+refs/heads/pu
+EOF
+
+	test_cmp pre-receive.expect pre-receive.actual &&
+	test_cmp update.expect update.actual &&
+	test_cmp post-receive.expect post-receive.actual &&
+	test_cmp post-update.expect post-update.actual
+	)
+'
+
 test_expect_success 'allow deleting a ref using --delete' '
 	mk_test heads/master &&
 	(cd testrepo && git config receive.denyDeleteCurrent warn) &&
-- 
1.7.7.rc3.2.g6bf07

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox