-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
111 lines (77 loc) · 3.41 KB
/
TODO
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#################### TODO ####################
ampatch fails spawning a useless sub-gitshell, to fix
questa cosa può essere molto interessante per fare grep sulle versioni precedenti
git diff --stat --name-only $COMMIT^ $COMMIT | xargs git ls-tree --full-tree $COMMIT
quando siamo in stato operativo 'am' usare 'ff' come git am --show-current-patch=diff
bash: /usr/lib/command-not-found: restricted: cannot specify `/' in command names
vi deve presentare la sintassi colorata anche in gitshell meglio se di crea un file di configurazione per l'utente da esportare
autocmd BufNewFile,BufRead *.meals set syntax=json
gitshell should not start if source files are missing
git config --global alias.amend-to '!f() { SHA=`git rev-parse "$1"`; git stash -k && git commit --fixup "$SHA" && GIT_SEQUENCE_EDITOR=true git rebase --interactive --autosquash "$SHA^" && git stash pop; }; f'
The name amend-to seems appropriate IMHO. Compare the flow with --amend:
git add . && git commit --amend --no-edit
# vs
git add . && git amend-to <REV>
source: https://stackoverflow.com/questions/1186535/how-do-i-modify-a-specific-commit
--------------------------------------------------------------------------------
input hash dsha # no pending modification is required
export hash # use a better name to avoid collisions
sw $hash >$hash.diff; add $hash.diff
for i in $(sf $hash); do
cp -arf $i $i.1
add $i.1
done
cm -m $hash.diff
irebase $dsha
# move the hash commit at the point in which new commit should be inserted)
ce $(lgrp -s $hash.diff)
# patch -p1 < $hash.diff
# OR
# xxdiff $file.1 $file
--------------------------------------------------------------------------------
pcache usare config value user.password
gfreload & Co.should do nothing in girshell
gitshell as separate file for users
in cr-editor do not set vi as default but read the config before
gitshell quando muore lascia in giro .gitshrc* che vanno eliminati ma solo dopo aver verficato che non siano aperti da un qualche processo
forig: rinominare frmt?
ok - should fetch the only source present even if not "origin"
ok - should fetch all the source present if "-a" is declared
- should fetch a specific source "$name" if declared
- should fetch a specific source "$abbr" if $abbr fits the letter of one single branch
radd/rdel: short for
- git remote add/rdel $name $url.git
hrst with -o origin ?
bsw - should keep in considerration the change of repository
install.sh should relies on commit hash not branch
lsbr() should be revisited and getops is necessary
ff va utilizzato getopts
upstream a branch with git branch -u private/npriv4
#tagdel -a:
# for dst in $(rmt); do
# _git push --delete $dst $tag
# done
tagdel -a:
sha=$(command git rev-parse $tag)
bra=$(lsbr -c $sha)
for i in $bra; do
lst=$(lsbr -r | egnc "/$i$" | cut -d/ -f1)
for dst in $lst; do
_git push --delete $dst $tag
done
done
--------------------------------------------------------------------------------
commit-move.sh
input hash dsha # no pending modification is required
export hash # use a better name to avoid collisions
sw $hash >$hash.diff; add $hash.diff
for i in $(sf $hash); do
cp -arf $i $i.1
add $i.1
done
cm -m $hash.diff
irebase $dsha # move the hash commit at the point in which new commit should be inserted)
ce $(lgrp -s $hash.diff)
patch -p1 < $hash.diff
OR
xxdiff $file.1 $file