| From | Subject | Date |
|---|---|---|
| Theodore Ts'o | [PATCH 1/2] Print a sane error message if an alias expan ...
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
---
git.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/git.c b/git.c
index 82a8357..c43d4ff 100644
--- a/git.c
+++ b/git.c
@@ -387,8 +387,15 @@ int main(int argc, const char **argv, char **envp)
done_alias = 1;
}
- if (errno == ENOENT)
+ if (errno == ENOENT) {
+ if (done_alias) {
+ fprintf(stderr, "Expansion of alias '%s' failed; "
+ "'%s' is not a git-command\n",
+ cmd, ...
| Feb 10, 5:33 pm 2007 |
| Theodore Ts'o | [PATCH 0/2] Respun patches for git aliases enhancement
These patches have been respun to fix a spelling typo and in response
to comments from Johannes.
- Ted
-
| Feb 10, 5:33 pm 2007 |
| Theodore Ts'o | [PATCH 2/2] Allow aliases to expand to shell commands
If the alias expansion is prefixed with an exclamation point, treat
it as a shell command which is run using system(3).
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
---
Documentation/config.txt | 6 ++++++
git.c | 10 ++++++++++
2 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 4e650af..e6e9409 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -222,6 +222,12 @@ ...
| Feb 10, 5:33 pm 2007 |
| Eric Wong | Re: [PATCH] git-svn: re-map repository URLs and UUIDs on ...
Note: these patches (both Sam's and mine below) are not meant for
master, but the development/semi-rewrite version of git-svn at
http://git.bogomips.org/git-svn.git
Sam: here's my take on your patches. I'll add support for
per-[svn-remote "..."] configuration that we talked about
on IRC in a separate patch.
From 45fd937a6129aebc9cad1b7128f2811dd32af454 Mon Sep 17 00:00:00 2001
From: Eric Wong <normalperson@yhbt.net>
Date: Sat, 10 Feb 2007 20:46:50 -0800
Subject: [PATCH] git-svn: add ...
| Feb 10, 9:55 pm 2007 |
| Sam Vilain | [PATCH] git-svn: re-map repository URLs and UUIDs on SVK ...
If an SVN revision has a property, "svm:headrev", it is likely that
the revision was created by SVN::Mirror (a part of SVK). The property
contains a repository UUID and a revision. We want to make it look
like we are mirroring the original URL, so introduce a helper function
that returns the original identity URL and UUID, and use it when
generating commit messages.
---
git-svn.perl | 39 +++++++++++++++++++++++++++++++++------
1 files changed, 33 insertions(+), 6 deletions(-)
diff --git ...
| Feb 10, 4:34 pm 2007 |
| Sam Vilain | [PATCH] git-svn: detect SVN::Mirror breadcrumbs on multi-init
SVN::Mirror leaves a little directory property on the root of its
mirrored paths to say the URL and repository UUID of the path that
this path mirrors. If we see them, save them in the config for later
use.
---
git-svn.perl | 28 +++++++++++++++++++++++++++-
1 files changed, 27 insertions(+), 1 deletions(-)
diff --git a/git-svn.perl b/git-svn.perl
index 0c36e8b..59d9faf 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -358,8 +358,34 @@ sub cmd_multi_init {
undef, ...
| Feb 10, 4:15 pm 2007 |
| Jakub Narebski | Re: git-pull and tag objects
One of the solutions, used in git.git repository, is to put public key
as a out-of-tree blob using git-hash-object, then tag it using singed tag
with instruction about how to extract key in the tag message (tag comment).
$ git cat-file -p junio-gpg-pub
object 0246401b5d117e01717149c413aa2f8702a83d4f
type blob
tag junio-gpg-pub
tagger Junio C Hamano <junkio@cox.net> Tue Dec 13 16:33:29 2005 -0800
GPG key to sign git.git archive.
This blob object contains the GPG public key I use ...
| Feb 10, 2:32 pm 2007 |
| Linus Torvalds | Re: git-pull and tag objects
No. That's horrible. Yes, it's what Junio did, but if you don't trust the
archive, the _last_ thing you should do is to depend on a blob in the
archive itself to contain the thing to make you trust it more.
So you want to get the gpg public key from somewhere else to be able to
_independently_ verify that it's ok.
Otherwise, somebody could just totally replace the object with one of
their own, and then _claim_ that the public key they made is
"junio-gpg-pub", and fool people into ...
| Feb 10, 2:58 pm 2007 |
| Mukund | [PATCH] Fixed some typos in git-repack docs
---
Documentation/git-repack.txt | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt
index 4a57ce8..d39abc1 100644
--- a/Documentation/git-repack.txt
+++ b/Documentation/git-repack.txt
@@ -30,9 +30,9 @@ OPTIONS
Instead of incrementally packing the unpacked objects,
pack everything available into a single pack.
Especially useful when packing a repository that is used
- for a private development and ...
| Feb 10, 11:12 am 2007 |
| Junio C Hamano | Re: 'git status' is not read-only fs friendly
I do not necessarily agree that making the command to follow a
BCP workflow is "user unfriendly", but that does not pertain
what I will end up saying in this message, which is to agree
Fair enough. That leaves us two options.
(0) Do nothing.
(1) We keep the current "git-status [-v] [-a] [[-i|-o] <paths...>]"
command line and do the necessary index manipulation
in-core without writing it out (see git-commit.sh for
details of what it involves).
(2) We drop the ...
| Feb 10, 11:00 am 2007 |
| Nicolas Pitre | Re: 'git status' is not read-only fs friendly
And don't get me wrong. I think that for 1.5.0 you should really do (0).
Nicolas
-
| Feb 10, 11:53 am 2007 |
| Marco Costalba | Re: 'git status' is not read-only fs friendly
I agree on doing (0) for 1.5.0 and the following Linus lines make me
If current 'git runstatus' on a NTFS directory, Linux side, show as
dirty _all_ the repo files, then in case of big repos, as Linus
pointed out, a possible future 'git runstatus --refresh' will be
terribly slow because must filter out as false positives _all_ the
repo files. And worst, have to do it *any time* it is run.
So perhaps the two patches of Junio _seems_ to work to me just because
repo is small, is qgit4 indeed, ...
| Feb 10, 12:08 pm 2007 |
| Theodore Tso | Re: 'git status' is not read-only fs friendly
If you end up doing (2), may I suggest making the functionality of
"git-status" today available as "git-commit -n"? It is something
useful, so we shouldn't lose it, and -n meaning --no-action is a well
accepted convention for Unix commands.
- Ted
-
| Feb 10, 11:43 am 2007 |
| Theodore Tso | Re: 'git status' is not read-only fs friendly
Well, if we're going to change the semantics of git-status, we would
have to do it in 1.5.0 or wait until 1.6.0, wouldn't we?
- Ted
-
| Feb 10, 11:56 am 2007 |
| Blaisorblade | git-send-email: default values do not work
I'm using git v1.4.4.4, and trying to use directly git-send-email on plain
files.
bug #1 (default values when prompting do not work)
According to git-send-email documentation, it should suggest default values
when prompting the user.
However it does not, since ->readline does not accept a default value.
I've verified this in man Term\:\:ReadLine and by looking
at /usr/share/perl/5.8.7/Term/ReadLine.pm, and with the perl debugger - the
default is correctly calculated but not printed. ...
| Feb 10, 10:15 am 2007 |
| Marco Costalba | Re: 'git status' is not read-only fs friendly
The "let's see what I'm going to commit today" it's definitely the way
I and probably most of qgit users look at the status info shown in
main view left bottom pane and also in commit dialog.
-
| Feb 10, 9:35 am 2007 |
| Junio C Hamano | Re: 'git status' is not read-only fs friendly
It really depends on what Marco means by "if cwd is clean".
If by "clean" Marco means "no differences after discarding cache
cleanliness information", "git-diff" is not quite it, as it
shows the differences including the cleanliness of the cache
entry.
"git-status", as Marco found out in the message that started
this thread, loses the cache cleanliness information when it
runs [*1*].
If he cares about cache cleanliness information, "git-diff" is
the right thing to use, and using "git ...
| Feb 10, 9:25 am 2007 |
| Junio C Hamano | Re: 'git status' is not read-only fs friendly
You can run it once when you start up to see if --refresh is
supported with the git the user has, and keep that result
throughout the life of the qgit process (so you have to do the
check only once).
What would you do when working with older git anyway? You would
need to fall back on some code -- or would you require a certain
version of git to go with this version of qgit?
About "Cygwin and Linux NTFS seem to disagree with lstat(2)"
problem. Is it really what is happening here? It ...
| Feb 10, 9:25 am 2007 |
| Johannes Schindelin | Re: 'git status' is not read-only fs friendly
Hi,
Probably. AFAIR Windows lacks some important information, which is filled
with zeroes by Cygwin.
Note that this problem already arises between Cygwin and MinGW, and it
cannot be fixed: Cygwin _has_ symlinks, while MinGW has _not_.
Ciao,
Dscho
-
| Feb 10, 1:36 pm 2007 |
| Aneesh Kumar K.V | [PATCH] vim ftplugin
The attached patch is need for the ftplugin found at
http://madism.org/~madcoder/dotfiles/vim/ftplugin/git.vim
| Feb 10, 7:49 am 2007 |
| Alexandre Julliard | [PATCH] diff.c: More logical file name quoting for renam ...
Quote both file names separately when printing a rename, yielding
something like
"foo" => "bar"
instead of the current
"foo => bar"
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
---
diff.c | 34 +++++++++++++++++++++++++++-------
1 files changed, 27 insertions(+), 7 deletions(-)
diff --git a/diff.c b/diff.c
index e036aae..c6a9692 100644
--- a/diff.c
+++ b/diff.c
@@ -545,6 +545,24 @@ static char *pprint_rename(const char *a, const char *b)
int pfx_length, ...
| Feb 10, 7:39 am 2007 |
| Alexandre Julliard | [PATCH] diff.c: Properly quote file names in diff --summ ...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
---
diff.c | 17 ++++++++++++-----
1 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/diff.c b/diff.c
index 4c642d7..e036aae 100644
--- a/diff.c
+++ b/diff.c
@@ -2409,19 +2409,24 @@ static void flush_one_pair(struct diff_filepair *p, struct diff_options *opt)
static void show_file_mode_name(const char *newdelete, struct diff_filespec *fs)
{
+ char *name = quote_one(fs->path);
if (fs->mode)
- printf(" %s mode ...
| Feb 10, 7:37 am 2007 |
| Alexandre Julliard | [PATCH] diff.c: Reuse the pprint_rename function for dif ...
This avoids some code duplication, and yields more readable results
for directory renames.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
---
diff.c | 31 ++++---------------------------
1 files changed, 4 insertions(+), 27 deletions(-)
diff --git a/diff.c b/diff.c
index ad476f7..4c642d7 100644
--- a/diff.c
+++ b/diff.c
@@ -2430,34 +2430,11 @@ static void show_mode_change(struct diff_filepair *p, int show_name)
static void show_rename_copy(const char *renamecopy, struct ...
| Feb 10, 7:36 am 2007 |
| Marco Costalba | Re: [PATCH 1/2] run_diff_{files,index}(): update calling ...
I understand this.
-
| Feb 10, 8:51 am 2007 |
| Junio C Hamano | Re: [PATCH 1/2] run_diff_{files,index}(): update calling ...
I suspect that you are dual booting and browsing a git
repository that is on a read-only mounted NTFS filesystem from
the Linux side, and the index was created on Cygwin git?
I (perhaps luckily) am fairly ignorant on the way things done in
Windows environment. For one thing, I do not know if NTFS has
notion of i-number, file owner uid, and other information that
are used in the index (not that I want to know).
If NTFS does not support the information returned by lstat(2)
fully on disk, I ...
| Feb 10, 3:40 am 2007 |
| Marco Costalba | Re: [PATCH 1/2] run_diff_{files,index}(): update calling ...
Thanks this works for me, while the other workaround seems to have issues:
bash-3.1$ git status
fatal: unable to create '.git/index.lock': Read-only file system
bash-3.1$ git update-index --refresh
fatal: unable to create '.git/index.lock': Read-only file system
bash-3.1$ git runstatus
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: .gitignore
# modified: README
# modified: ...
| Feb 10, 1:02 am 2007 |
| Junio C Hamano | Re: [PATCH 1/2] run_diff_{files,index}(): update calling ...
The thing is, it touches central part of the system by changing
the calling convention of two rather important functions. You
might have already fully tested that there is no regression for
git-runstatus, but it affects other callers as well. I tried to
be careful when I did the conversion but I am not 100% sure
there is no "unintended side effects".
-
| Feb 10, 8:13 am 2007 |
| Marco Costalba | Re: [PATCH 1/2] run_diff_{files,index}(): update calling ...
'git runstatus' shows all the files also _before_ your patch has been
applied (I have tested again now resetting HEAD so to remove your two
patches).
What is strange is that running 'git runstatus' on Linux on a repo
under a ntfs directory shows all the files, while running 'git status'
under windows under the same repo (so now we have write access) shows
things correctly.
It seems that perhaps lstat(2) info of a mounted ntfs directory is not
correct?????? very very strange!
-
| Feb 10, 1:29 am 2007 |
| Marco Costalba | Re: [PATCH 1/2] run_diff_{files,index}(): update calling ...
So in this case your patch that introduce '--refresh' option in 'git
runstatus' is not just a shortcut for 'git update-index' + 'git
runstatus' but adds some real value.
One more reason for asking you to add it before 1.5 release ;-)
-
| Feb 10, 4:25 am 2007 |
| Junio C Hamano | Re: [PATCH 1/2] run_diff_{files,index}(): update calling ...
That does not sound right with or without my patch. Are you
talking about the 'git runstatus' with my patch is showing
paths that are cache clean? If that is the case that means my
patch is introudcing regression.
-
| Feb 10, 1:20 am 2007 |
| Marco Costalba | Re: [PATCH 1/2] run_diff_{files,index}(): update calling ...
This is the complete log under Windows (git with Cygwin distribution,
but run _outside_ cygwin shell, directly in Windows cmd.exe shell).
And _after_ under Linus, current git tree _without_ your last patches applied.
*************** UNDER WINDOWS ***********************
C:\varie\c\qgit4>git status
# Untracked files:
# (use "git add" to add to commit)
#
# AAA_convert.xls.lnk
# Cygwin.lnk
# Qt 4.2.2 Command ...
| Feb 10, 1:46 am 2007 |
| Theodore Tso | Re: git-pull and tag objects
Thanks for this great explanation of how tags work. Hopefully some or
all of this can get incorporated into the git's user's manual.
Adding the paragraph to the git-tag as you did in your patch is a
good start, but having the entire explanation of how things work in
the user's manual would be a really good thing, IMHO.
This brings up another question which I've been looking for, but for
which I haven't found a good answer in the git documentation. A
google search shows a suggestion by hpa ...
| Feb 10, 7:23 am 2007 |
| Linus Torvalds | Re: git-pull and tag objects
Well, if you never pushed anything out, just re-tag it. Use "-f" to
replace the old one. And you're done.
But if you have pushed things out (or others could just read your
repository directly), then others will have already seen the old tag. In
that case you can do one of two things:
- The sane thing.
Just admit you screwed up, and use a different name. Others have
already seen one tag-name, and if you keep the same name, you may be in
the situation that two people ...
| Feb 10, 10:56 am 2007 |
| Theodore Tso | Re: git-pull and tag objects
What I would propose (post-1.5.0!) is that the policy file be local to
the repository, and consist of an ordered list of regular expressions
and and lists of PGP keys associated with each regexp. So for
example, I might have in my repository a config file which states that
any tag that matches v2.6.[0-9]+ and v2.6.[0-9]+-rc[0-9]+ must be
signed by PGP key 0x76E21CBB (Linus's key).
What I would very much like is for the tags to be automatically
verified whenever I do a git-fetch operation, ...
| Feb 10, 5:25 pm 2007 |
| Linus Torvalds | Re: git-pull and tag objects
Actually, I think you can do it already.
I think the "update" hook runs whenever we're pulling a ref, once for each
ref. It might happen just for pushing to a remote, though.
Anyway, with a hook, it's easy enough to just add exactly the kind of
thing you are outlining, and yes, it would be repository-local.
Linus
-
| Feb 10, 8:21 pm 2007 |
| Johannes Schindelin | Re: 'git status' is not read-only fs friendly
Hi,
So, why don't you just do a
git diff --name-only HEAD
and check for an empty output???
No need for a patch to Git (so late in the -rc phase), or backwards
incompatibility...
Ciao,
Dscho
-
| Feb 10, 7:19 am 2007 |
| Johannes Schindelin | Re: 'git status' is not read-only fs friendly
Hi,
Not really. The thing is, git-status does a lot more than what you need.
And what you need is _only_ what "git diff --name-only HEAD" does already!
It _also_ checks the index, it _also_ only checks the files with different
stat information, but it does _not_ try to update the index and prepare a
message to be displayed when committing.
So, what is the big problem about accepting that patching git-status for
one obscure use is wrong, wrong, wrong, when git-diff already does what is ...
| Feb 10, 7:59 am 2007 |
| Nicolas Pitre | Re: 'git status' is not read-only fs friendly
Because git-status itself is conceptually a read-only operation, and
having it barf on a read-only file system is justifiably a bug.
But I agree that attempting to fix it now is probably just too risky not
to compromize the 1.5.0 release. Better leave it as a known issue for
v1.5.0 and fix it later... especially if there is a possible workaround
in the mean time.
Nicolas
-
| Feb 10, 8:54 am 2007 |
| Marco Costalba | Re: 'git status' is not read-only fs friendly
I could opt for shipping qgit 1.5.5 _without_ using '--refresh' and
then ship, as example in a month, qgit 1.5.6 that uses the feaure. But
I can do this _only_ if git 1.5 has it.
-
| Feb 10, 7:51 am 2007 |
| Marco Costalba | Re: 'git status' is not read-only fs friendly
It seems to have the same issues of 'git runstatus' in case of ntfs
filesystems, so I would prefer, eventually, use 'git runstatus' that
Well, it's a _new_ option so I fail to see backwards incompatibility.
Perhaps you are referring to qgit backward incompatibility, but in any
case a new version of qgit is due to fix a parsing bug that shows
after a modification of 'git rev-list' output occurred in git 1.5
development.
Marco
-
| Feb 10, 7:31 am 2007 |
| Marco Costalba | Re: 'git status' is not read-only fs friendly
Probably I'm doing something wrong, but that's how working dir
detection is currently implemented in qgit:
void Git::getDiffIndex() {
QString status;
if (!run("git status", &status)) // git status refreshes the index,
run as first
return;
if (!run("git diff-index HEAD", &_wd.diffIndex))
return;
// check for files already updated in cache, we will
// save this information in status third field
if (!run("git diff-index --cached HEAD", &_wd.diffIndexCached))
return;
...
| Feb 10, 8:45 am 2007 |
| Junio C Hamano | Re: 'git status' is not read-only fs friendly
I do not 100% agree that it is conceptually a read-only operation.
-
| Feb 10, 9:27 am 2007 |
| Nicolas Pitre | Re: 'git status' is not read-only fs friendly
It is. It's the technical issue that makes it not so. But when a user
asks for a status, he's clearly not expecting to _write_ anything, even
less for the command to fail if the file system is read-only. This is
like if a file system driver refused to open a file when the file system
is mounted read-only just because it cannot update the file's atime on
disk.
Just like the atime example, we may refresh the index while at it when
preparing the status results. This is a valid ...
| Feb 10, 9:40 am 2007 |
| Nicolas Pitre | Re: 'git status' is not read-only fs friendly
There is just a semantic issue that you seem to overlook completely.
According to the dictionarry, "status" is a synonym to a "state". It is
_not_ an action.
So, from a _user_ perspective, the git-status command should give back a
"status". Of _course_ the user will benefit from the index updating
business, but as important as this update might be (and I do agree that
it is fundamental for GIT's performance), this is still a by-product of
the "status" command.
Therefore, the fact ...
| Feb 10, 11:51 am 2007 |
| Junio C Hamano | Re: 'git status' is not read-only fs friendly
I do not think so. It is a workflow issue that user indicates
the cache cleanliness information does not matter anymore.
Is it wrong for "git-status" to be losing the cache cleanliness
information? The intended audience of that program is those who
are about to make a commit in the repository, as they are asking
"what would I be committing?" Up to that point, they may have
cared about the reminder they get from "git diff" that they
edited a file and then ended up reverting the whole edit ...
| Feb 10, 9:46 am 2007 |
| Linus Torvalds | Re: 'git status' is not read-only fs friendly
It really isn't.
It's not even a "technical issue". It's a fundamental optimization. Sure,
you can call optimizations just "technical issues", but the fact is, it's
one of the things that makes git so _usable_ on large archives. At some
point, an "optimization" is no longer just about making things slightly
faster, it's about something much bigger, and has real semantic meaning.
So the fact is, "git status" _needs_ to refresh the index. Because if it
doesn't, you'll see every file ...
| Feb 10, 10:37 am 2007 |
| Marco Costalba | Re: 'git status' is not read-only fs friendly
Well, I tested the patch and indeed it helps a lot ;-)
It's correct that checking Linux lstat against cygwin one (stored in
index) gives different results, but it's now where the patch makes the
difference rechecking all the files (in memory) to see if are really
That's a true point. Altough if git 1.5 ships _without_ '--refresh'
option in 'git runstatus' for a porcelain tool point of view it means
*do forget* that option until next major release. There's no point in
adding the feature one ...
| Feb 10, 7:48 am 2007 |
| Johannes Schindelin | Re: 'git status' is not read-only fs friendly
Hi,
Just to fuel the fire even more: Does it make _sense_ running git-status
when you cannot write? I mean, the only reasonable use cases to ask
git-status (even interpreting it in the "state" sense you are proposing),
is when you are _working_ on the files. Which you cannot do without write
access.
BTW I was not aware that "git diff --name-only HEAD" would not check if
the file is differing or not, but even then, it is arguably the right
thing for qgit to show what the index' idea ...
| Feb 10, 1:40 pm 2007 |
| Johannes Schindelin | Re: 'git status' is not read-only fs friendly
Hi,
Which issues? That the lstat data are not equal on Cygwin and Linux? The
patch does not help here. Maybe a patch to Linux' ntfs driver
would, but I fail to see how Git could possibly help here.
If git-diff is trying to write files, _that_ would be a bug.
As for your use of git-status: I think it is wrong. You said you want to
check if the working directory is clean. Then just do that, and do not try
You need a new version of _Git_ if you use that option.
And if you can do ...
| Feb 10, 7:41 am 2007 |
| Nicolas Pitre | Re: 'git status' is not read-only fs friendly
You're making assumption about work flows and using that to justify
I don't dispute that. But git-status should certainly not be restricted
It is... when the file system lets you write. Like I said this is a
technically good thing to do.
But a command that is called "status" should provide a "status" even if
the file system is read-only nevertheless. The index updating business
that is done behind the scene is and should be an opportunistic
optimization, but it should not prevent ...
| Feb 10, 10:03 am 2007 |
| Joshua N Pritikin | Re: [sugar] etoys - binary blob in GIT
Sure, something like this:
$ export IMAGE=$HOME/etoys.image
$ cd etoys
$ git init-db
$ echo 1 > image-version
$ git add image-version
$ mkdir upgrade
$ cd upgrade
$ ls
patch1 patch2
# These patches are the "update stream" from the previous commit to the
# current commit.
$ cat patch1
touch $IMAGE
$ cat patch2
echo abc >> $IMAGE
$ cd ..
$ git add patch1 patch2
$ git commit -a
# After every commit, you can remove the previous update stream.
$ git rm upgrade/*
# Here is ...
| Feb 10, 2:49 am 2007 |
| Andy Parkins | Re: restriction of pulls
This I agree with; this seems like the way that a partial checkout would
be supported.
As you say - there would be no need to have the blobs available for
objects you aren't altering. Unfortunately, it seems like it would be
a huge amount of work to actually do.
Andy
--
Dr Andrew Parkins, M Eng (Hons), AMIEE
andyparkins@gmail.com
-
| Feb 10, 2:59 am 2007 |
| Johannes Schindelin | Re: restriction of pulls
Hi,
There are basically three ways I can think of:
- rewrite the commit objects on the fly. You might want to avoid the use
of the pack protocol here (i.e. use HTTP or FTP transport).
- try to teach git a way to ignore certain missing objects and
directories. This might be involved, but you could extend upload-pack
easily with a new extension for that.
(my favourite:)
- use git-split to create a new branch, which only contains doc/. Do work
only on that branch, and merge into ...
| Feb 10, 7:50 am 2007 |
| Michael S. Tsirkin | Re: git-am and workflow question
git-commit --amend seems to rewrite the commit author which is
annoying if you only want to modify the log message a little. As a
work-around I copy the author info from the log and passing --author
explicitly, but is there an easier way?
--
MST
-
| Feb 10, 3:18 pm 2007 |
| Theodore Ts'o | Re: Git rescue mission
Here are some patches to fix the horrible error message and to allow
aliases to expand to external shell commands.
- Ted
-
| Feb 10, 9:05 am 2007 |
| Linus Torvalds | Re: [PATCH] Allow aliases to expand to shell commands
ACK. This should also make it possible to do pipelines etc as aliases,
although to be *really* useful we would probably have to have some way to
specify where the arguments to the alias would go.
The more generic solution is obviously to just do it as external shell
scripts (which can be named "git-xyzzy" so that you don't even need this
kind of thing), but for the simple cases like gitk/qgit/xmerge/whatever,
this approach by Ted seems to be a good way to get easy access to stuff ...
| Feb 10, 11:04 am 2007 |
| Theodore Tso | Re: [PATCH] Allow aliases to expand to shell commands
That's not how I code but it does seem to be the prevailing git coding
Yes, that makes the error message look a bit nicer. I'll respin the
... and git-shell only allows git-receive-pack and git-upload-pack to
be called, with a single argument, and aliases aren't allowed to
override commands. So we're safe here, I think.
- Ted
-
| Feb 10, 5:13 pm 2007 |
| Theodore Tso | Re: [PATCH] Allow aliases to expand to shell commands
Here's a revised patch which fixes a stupid spelling typo in the
documentation. ("eqvuialent" --> "equivalent")
From c16544aa786b0fb244fd974a22831a1210286ec5 Mon Sep 17 00:00:00 2001
From: Theodore Ts'o <tytso@mit.edu>
Date: Sat, 10 Feb 2007 10:50:58 -0500
Subject: [PATCH] Allow aliases to expand to shell commands
If the alias expansion is prefixed with an exclamation point, treat
it as a shell command which is run using system(3).
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
---
...
| Feb 10, 11:13 am 2007 |
| Theodore Ts'o | [PATCH] Print a sane error message if an alias expands t ...
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
---
git.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/git.c b/git.c
index 82a8357..c43d4ff 100644
--- a/git.c
+++ b/git.c
@@ -387,8 +387,15 @@ int main(int argc, const char **argv, char **envp)
done_alias = 1;
}
- if (errno == ENOENT)
+ if (errno == ENOENT) {
+ if (done_alias) {
+ fprintf(stderr, "Expansion of alias '%s' failed; "
+ "'%s' is not a git-command\n",
+ cmd, ...
| Feb 10, 9:05 am 2007 |
| Junio C Hamano | Re: [PATCH] Print a sane error message if an alias expan ...
Thanks for your alias and diff patches.
I'll be away from the keyboard for most of today, so if the list
can do distributed QA (and debugging if necessary) before I
return that would be very appreciated ;-).
-
| Feb 10, 9:50 am 2007 |
| Theodore Ts'o | [PATCH] Allow aliases to expand to shell commands
If the alias expansion is prefixed with an exclamation point, treat
it as a shell command which is run using system(3).
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
---
Documentation/config.txt | 6 ++++++
git.c | 10 ++++++++++
2 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 4e650af..de185d8 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -222,6 +222,12 @@ ...
| Feb 10, 9:05 am 2007 |
| Johannes Schindelin | Re: [PATCH] Allow aliases to expand to shell commands
Hi,
Here, you add 1 to alias string (though I would put spaces around the
So, shouldn't you here, too?
It made me feel a little uneasy that we can execute _any_ command now, but
I can only find one way to exploit this, when an attacker does not have
shell access anyway: git-shell.
Ciao,
Dscho
-
| Feb 10, 1:34 pm 2007 |
| Junio C Hamano | Re: Fix "git log -z" behaviour
I think the new semantics for -z ("inter-record termination is
NUL") makes a lot more sense for "-p -z" format that shows
commit log message and the patch text. It makes filtering the
output with "grep -z" feel much more natural.
The new semantics is however quite inconsistent with the other
formats: --raw, --name-only and --name-status. These already
use NUL for separating pathnames and fields when -z is given, in
order to allow scripts sensibly deal with pathname that contain
funny ...
| Feb 10, 12:32 am 2007 |
| Linus Torvalds | Re: Fix "git log -z" behaviour
I don't think I disagree, but I do suspect it's not worth it.
Yes, we really do have two "line_termination" characters: the one between
commits, and the one we use within raw diffs. However, I don't think the
*combination* ever makes sense any more (*), so using the same flag
doesn't seem to really be a problem.
And the -z "line_termination" already got hijacked a long time ago for
inter-commit messages too, so while adding a "-Z" would perhaps avoid a
certain ambiguity, it would ...
| Feb 10, 10:09 am 2007 |
| Junio C Hamano | Re: Fix "git log -z" behaviour
... well, it just occured to me that it might make sense not to
let this new "use NUL as inter-commit separator for grep -z"
semantics hijack existing -z option, but introduce another
option, say, -Z. Then you could even do something like:
git log -Z -r --numstat |
grep -z -e '^[1-9][0-9][0-9][0-9]* '
to find commits that has more than 100 lines of additions to a
file. (or use --stat and grep for '| *[1-9][0-9][0-9][0-9]* ' to
look for sum of addition+deletion ...
| Feb 10, 2:36 am 2007 |
| previous day | today | next day |
|---|---|---|
| February 9, 2007 | February 10, 2007 | February 9, 2007 |
