forked from chocolateboy/easygit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
54 lines (44 loc) · 2.43 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
To use eg, simply put this directory in your path. If you are familiar
with other version control systems, the syntax in eg is pretty similar
('eg commit', 'eg diff', 'eg info', etc.).
To help get you started, you can run
eg help
which will provide a list of available subcommands. You can also get help
on each subcommand; for example, running
eg help commit
will explain how to commit and provide many examples of doing so.
To Msysgit users [From Dan Fabulich]:
1) Msysgit users aren't supplied an ordinary git.exe executable on
the command-line, but a script called "git.cmd". Out of the box,
"eg" can't find this script.
It's easy to update eg 0.99 to support a non-standard git executable
(for example: my $git_cmd = "git.cmd"), but that'll get you in
trouble...
2) ... because Perl's backtick (`) operator won't correctly detect
the return code of git in that case; it'll think that git.cmd always
returns 0. This confuses eg's revision-detector code, etc.
The only workaround I've found is to make a copy of git.cmd and
change its behavior. git.cmd terminates the script using "@exit /b
%ErrorLevel%"; I've made a copy called "gitx.cmd" that just uses
"@exit %ErrorLevel%" and I refer to "gitx.cmd" in eg; that works
perfectly.
3) eg assumes that you can set environment variables on the backtick
command-line like this: `GIT_PAGER_IN_USE=1 git log -1` ... that
works fine on UNIX but not on Windows.
I had to go through and comment out references to GIT_PAGER_IN_USE
to get "eg log" to work. This disables color, but color is in a
wonky state on msysgit anyway, so I scarcely miss it.
I think there's another clever use of inline environment variables
in "eg revert"; it attempts to temporarily set GIT_INDEX_FILE when
reverting just unstaged changes. I've never needed to do that, but
I'm sure I will someday :-p
I assume these inline variables are being used to make them
temporarily apply only to the child process? Would it be harmful to
just set them as %ENV variables instead?
(We should soon remove #3 from this README; I agree with Dan that we
should just modify %ENV instead.)
Note: bash-completion-eg.sh is NOT needed to run eg; it's here just for
the people that have bash completion set up and want to use it with eg
(google for bash_completion if you want to know more or how to make use of
bash-completion-eg.sh). All you need to run eg is to make sure the 'eg'
script is in your path.