git-scripts.git
8 weeks agoFeat(submodules/diff-name-only): Use `rev-parse` master
Oleg Broytman [Tue, 4 Oct 2022 21:16:59 +0000 (00:16 +0300)]
Feat(submodules/diff-name-only): Use `rev-parse`

Use `git rev-parse commit:submodule_path` instead of
`git ls-tree commit submodule_path | awk "{print $3}"`.

3 months agoFeat: `sharedRepo [-a|-g] [group]`
Oleg Broytman [Sat, 13 Aug 2022 12:45:36 +0000 (15:45 +0300)]
Feat: `sharedRepo [-a|-g] [group]`

3 months agoAdd a script `sharedRepoGroup`
Oleg Broytman [Tue, 9 Aug 2022 23:40:06 +0000 (02:40 +0300)]
Add a script `sharedRepoGroup`

13 months agoFix(reinit-repos): Run `git init --bare` to reinit bare repos
Oleg Broytman [Sat, 9 Oct 2021 12:28:08 +0000 (15:28 +0300)]
Fix(reinit-repos): Run `git init --bare` to reinit bare repos

18 months agoFeat(submodules/diff-name-only): Run recursively
Oleg Broytman [Fri, 28 May 2021 21:56:56 +0000 (00:56 +0300)]
Feat(submodules/diff-name-only): Run recursively

18 months agoFeat(submodules/diff-name-only): Use pager
Oleg Broytman [Fri, 28 May 2021 09:36:20 +0000 (12:36 +0300)]
Feat(submodules/diff-name-only): Use pager

Pipe to pager if stdout is a terminal
or to `cat -` to allow redirection.

18 months agoRefactor(submodules/diff-name-only): Remove excessive backslashes
Oleg Broytman [Fri, 28 May 2021 09:28:05 +0000 (12:28 +0300)]
Refactor(submodules/diff-name-only): Remove excessive backslashes

Use apostrophes for the internal script.
Export variables from the external shell
to be available in the internal script.

18 months agoAdd script `submodules/diff-name-only`
Oleg Broytman [Thu, 27 May 2021 17:34:23 +0000 (20:34 +0300)]
Add script `submodules/diff-name-only`

18 months agoRename/move `git-submodules-add` -> `submodules/add`
Oleg Broytman [Thu, 27 May 2021 17:32:59 +0000 (20:32 +0300)]
Rename/move `git-submodules-add` -> `submodules/add`

18 months agoAdd script `speedup`
Oleg Broytman [Wed, 12 May 2021 08:11:41 +0000 (11:11 +0300)]
Add script `speedup`

19 months agoFeat(pull-usrlocalsrc): Pull branch `main`, merge into local `master`
Oleg Broytman [Fri, 16 Apr 2021 14:24:36 +0000 (17:24 +0300)]
Feat(pull-usrlocalsrc): Pull branch `main`, merge into local `master`

SJW shit.

20 months agoFeat(pull-usrlocalsrc): Use fixed remote `origin`
Oleg Broytman [Sun, 28 Mar 2021 07:06:36 +0000 (10:06 +0300)]
Feat(pull-usrlocalsrc): Use fixed remote `origin`

If there is no `upstream` the only remote is `origin`.

21 months agoFeat(ls-not-pushed): Improve regular expression
Oleg Broytman [Mon, 22 Feb 2021 11:12:52 +0000 (14:12 +0300)]
Feat(ls-not-pushed): Improve regular expression

Lower probability of false positives.

22 months agoFix: `ls-not-packed` -> `ls-not-packed-repos`
Oleg Broytman [Fri, 1 Jan 2021 19:39:37 +0000 (22:39 +0300)]
Fix: `ls-not-packed` -> `ls-not-packed-repos`

23 months agoRefactor(ls-not-pushed): Show behind/ahead counters
Oleg Broytman [Mon, 28 Dec 2020 13:01:37 +0000 (16:01 +0300)]
Refactor(ls-not-pushed): Show behind/ahead counters

23 months agoRefactor(ls-not-pushed): Split into `-recursive` and `-repos`
Oleg Broytman [Mon, 28 Dec 2020 12:54:34 +0000 (15:54 +0300)]
Refactor(ls-not-pushed): Split into `-recursive` and `-repos`

23 months agoRefactor(ls-not-packed): Split into `-recursive` and `-repos`
Oleg Broytman [Mon, 28 Dec 2020 12:49:08 +0000 (15:49 +0300)]
Refactor(ls-not-packed): Split into `-recursive` and `-repos`

2 years agoFix(fsck-repos): Add missing quote
Oleg Broytman [Fri, 27 Nov 2020 13:16:06 +0000 (16:16 +0300)]
Fix(fsck-repos): Add missing quote

2 years agoAdd `copy-scripts/`: Copy this repo to a remote host
Oleg Broytman [Sat, 15 Aug 2020 13:32:04 +0000 (16:32 +0300)]
Add `copy-scripts/`: Copy this repo to a remote host

Copy git-scripts to an ssh-accessible remote host.

2 years agoFeat(hooks/post-update): Push back to `origin`
Oleg Broytman [Fri, 14 Aug 2020 15:15:09 +0000 (18:15 +0300)]
Feat(hooks/post-update): Push back to `origin`

2 years agoFeat(hooks/post-update): Add remote `origin` if not exists
Oleg Broytman [Fri, 14 Aug 2020 15:13:11 +0000 (18:13 +0300)]
Feat(hooks/post-update): Add remote `origin` if not exists

2 years agoFeat(fix-detached-head): Replace `branch -r` by `for-each-ref`
Oleg Broytman [Tue, 4 Aug 2020 15:22:40 +0000 (18:22 +0300)]
Feat(fix-detached-head): Replace `branch -r` by `for-each-ref`

Use `git for-each-ref` instead of `git branch -r | sed`.

2 years agoFeat(fix-detached-head): Get branch from superproject
Oleg Broytman [Tue, 4 Aug 2020 15:20:27 +0000 (18:20 +0300)]
Feat(fix-detached-head): Get branch from superproject

Get the branch from the superproject's `.gitmodules`.

2 years agoFeat: Fix detached `HEAD`
Oleg Broytman [Mon, 3 Aug 2020 15:04:52 +0000 (18:04 +0300)]
Feat: Fix detached `HEAD`

Fix detached `HEAD` by checking out the branch
(local or remote, if one exists) that points to the same commit.

2 years agoFeat: Check recursively for detached `HEAD`
Oleg Broytman [Sun, 2 Aug 2020 22:52:02 +0000 (01:52 +0300)]
Feat: Check recursively for detached `HEAD`

2 years agoFeat(sparse-clone): Add options parser
Oleg Broytman [Tue, 12 May 2020 12:07:01 +0000 (15:07 +0300)]
Feat(sparse-clone): Add options parser

Parametrize branch (default is master)
and local directory (default is the name of the remote repo).

2 years agoFeat(sparse-clone): Validate parameters
Oleg Broytman [Tue, 12 May 2020 10:52:27 +0000 (13:52 +0300)]
Feat(sparse-clone): Validate parameters

2 years agoGet local directory name from origin
Oleg Broytman [Tue, 12 May 2020 10:49:31 +0000 (13:49 +0300)]
Get local directory name from origin

2 years agoAdd `run-bare-repos`: run a command over all bare repositories
Oleg Broytman [Fri, 17 Apr 2020 15:41:21 +0000 (18:41 +0300)]
Add `run-bare-repos`: run a command over all bare repositories

2 years agoFeat(reinit): Split `reinit-all`
Oleg Broytman [Fri, 17 Apr 2020 11:32:15 +0000 (14:32 +0300)]
Feat(reinit): Split `reinit-all`

2 years agoAdd `sparse-clone`
Oleg Broytman [Fri, 17 Apr 2020 11:19:19 +0000 (14:19 +0300)]
Add `sparse-clone`

2 years agoFix(set-commit-date.py): Skip symlinks
Oleg Broytman [Sun, 2 Feb 2020 15:43:33 +0000 (18:43 +0300)]
Fix(set-commit-date.py): Skip symlinks

An earlier symlink to a file should not override the later file.

2 years agoFeat(svn): Add script `rdump-load`
Oleg Broytman [Sat, 1 Feb 2020 09:26:38 +0000 (12:26 +0300)]
Feat(svn): Add script `rdump-load`

Dump remote Subversion repository and load it into a local one
to speed up following `git-svn` operations.

2 years agoFix(svn/get-authors): Append to existing `authors.txt`
Oleg Broytman [Sat, 1 Feb 2020 07:31:45 +0000 (10:31 +0300)]
Fix(svn/get-authors): Append to existing `authors.txt`

2 years agoFeat(svn/get-authors): Add perl-based parser
Oleg Broytman [Sat, 1 Feb 2020 07:31:45 +0000 (10:31 +0300)]
Feat(svn/get-authors): Add perl-based parser

2 years agoFix(svn/get-authors): Pass URL
Oleg Broytman [Sat, 1 Feb 2020 07:31:45 +0000 (10:31 +0300)]
Fix(svn/get-authors): Pass URL

2 years agoFeat(locate-all): Use `sort -u` instead of `sort | uniq`
Oleg Broytman [Mon, 23 Dec 2019 02:31:26 +0000 (05:31 +0300)]
Feat(locate-all): Use `sort -u` instead of `sort | uniq`

2 years agoDoc(locate-all): Add comments
Oleg Broytman [Mon, 23 Dec 2019 02:30:31 +0000 (05:30 +0300)]
Doc(locate-all): Add comments

2 years agoRefactor(locate-all): Reorder excluded directories
Oleg Broytman [Mon, 23 Dec 2019 02:28:00 +0000 (05:28 +0300)]
Refactor(locate-all): Reorder excluded directories

2 years agoFeat(set-commit-date): Allow to choose between author and committer date
Oleg Broytman [Fri, 20 Dec 2019 18:19:51 +0000 (21:19 +0300)]
Feat(set-commit-date): Allow to choose between author and committer date

Default is committer date.

2 years agoFeat(locate-all): Exclude submodules
Oleg Broytman [Wed, 18 Dec 2019 01:53:31 +0000 (04:53 +0300)]
Feat(locate-all): Exclude submodules

Check submodules by files `.git`.

3 years agoRefactor: Use `$#` to check parameters
Oleg Broytman [Thu, 15 Aug 2019 18:57:11 +0000 (21:57 +0300)]
Refactor: Use `$#` to check parameters

3 years agoRefactor(set-commit-date.py): Combine 2 conditions
Oleg Broytman [Sat, 3 Aug 2019 11:22:42 +0000 (14:22 +0300)]
Refactor(set-commit-date.py): Combine 2 conditions

3 years agoFix(set-commit-date.py): Consider deleted files
Oleg Broytman [Fri, 2 Aug 2019 18:10:42 +0000 (21:10 +0300)]
Fix(set-commit-date.py): Consider deleted files

If the file was deleted and later readded - ignore deletion.
Otherwise ignore deleted files.

3 years agoAdd git-submodules-add
Oleg Broytman [Fri, 7 Jun 2019 09:49:46 +0000 (12:49 +0300)]
Add git-submodules-add

Run `git submodule add` on submodules in `.gitmodules`
if said `.gitmodules` has been simply copied into the project.

3 years agoFix(set-commit-date-repos): Remove excessive apostrophe
Oleg Broytman [Fri, 31 May 2019 15:57:50 +0000 (18:57 +0300)]
Fix(set-commit-date-repos): Remove excessive apostrophe

3 years agoFeat(git-open): Replace scp URLs with https
Oleg Broytman [Thu, 14 Mar 2019 15:08:44 +0000 (18:08 +0300)]
Feat(git-open): Replace scp URLs with https

3 years agoFeat(get-authors): Add an alternative implementation
Oleg Broytman [Tue, 12 Mar 2019 15:46:32 +0000 (18:46 +0300)]
Feat(get-authors): Add an alternative implementation

3 years agoFix: Remove excessive redirection and exit code check
Oleg Broytman [Fri, 1 Mar 2019 22:50:34 +0000 (01:50 +0300)]
Fix: Remove excessive redirection and exit code check

3 years agoFix(ls-no-description): Print cwd (`$g` can be just '.')
Oleg Broytman [Thu, 28 Feb 2019 16:34:47 +0000 (19:34 +0300)]
Fix(ls-no-description): Print cwd (`$g` can be just '.')

3 years agoRefactoring: Factor out run-repos and run-workdirs
Oleg Broytman [Thu, 28 Feb 2019 12:56:47 +0000 (15:56 +0300)]
Refactoring: Factor out run-repos and run-workdirs

3 years agoRemove excessive `echo`; simplify long commands
Oleg Broytman [Thu, 28 Feb 2019 12:27:57 +0000 (15:27 +0300)]
Remove excessive `echo`; simplify long commands

3 years agoFeat: Split scripts into 3: run in one repo, recursive, in all
Oleg Broytman [Thu, 28 Feb 2019 00:53:03 +0000 (03:53 +0300)]
Feat: Split scripts into 3: run in one repo, recursive, in all

3 years agoRefactor: Factor out run-recursive
Oleg Broytman [Wed, 27 Feb 2019 23:24:11 +0000 (02:24 +0300)]
Refactor: Factor out run-recursive

3 years agoAdd scripts to run fsck of all repositories
Oleg Broytman [Fri, 18 Jan 2019 03:12:29 +0000 (06:12 +0300)]
Add scripts to run fsck of all repositories

3 years agoRename all-status -> status-all
Oleg Broytman [Fri, 18 Jan 2019 03:12:06 +0000 (06:12 +0300)]
Rename all-status -> status-all

4 years agoFeat(set-commit-date.py): chdir to git root
Oleg Broytman [Tue, 27 Nov 2018 19:27:09 +0000 (22:27 +0300)]
Feat(set-commit-date.py): chdir to git root

Necessary because `git --log --name-only` produces paths relative to
the root.

4 years agoAdd post-update to update git-scripts after pushing to git-scripts.git
Oleg Broytman [Fri, 28 Sep 2018 15:05:54 +0000 (18:05 +0300)]
Add post-update to update git-scripts after pushing to git-scripts.git

4 years agoI stopped using `git-remote-hg`
Oleg Broytman [Tue, 21 Aug 2018 06:24:05 +0000 (09:24 +0300)]
I stopped using `git-remote-hg`

All repositories migrated long ago.

4 years agoRefactor(set-commit-date.py): Use git_log.stdout as an iterator
Oleg Broytman [Fri, 27 Apr 2018 21:41:01 +0000 (00:41 +0300)]
Refactor(set-commit-date.py): Use git_log.stdout as an iterator

4 years agoFeat: Run set-commit-date-recursive on clone/fork
Oleg Broytman [Thu, 26 Apr 2018 23:44:33 +0000 (02:44 +0300)]
Feat: Run set-commit-date-recursive on clone/fork

4 years agoFeat(git-status.sh): Use `git rev-parse` to find git dir
Oleg Broytman [Fri, 13 Apr 2018 16:37:27 +0000 (19:37 +0300)]
Feat(git-status.sh): Use `git rev-parse` to find git dir

4 years agoFeat: Limit memory for gc/repack
Oleg Broytman [Thu, 15 Mar 2018 02:27:52 +0000 (05:27 +0300)]
Feat: Limit memory for gc/repack

Add a script to set config to limit memory for gc/repack
to avoid out of memory errors.

4 years agoFix: No need to run `git repack`
Oleg Broytman [Thu, 15 Mar 2018 02:20:56 +0000 (05:20 +0300)]
Fix: No need to run `git repack`

`git gc --aggressive` runs `git repack` -A -d -l -f.

4 years agoFix(.gitignore): locate-all.list can only be in the root
Oleg Broytman [Tue, 13 Mar 2018 22:41:07 +0000 (01:41 +0300)]
Fix(.gitignore): locate-all.list can only be in the root

4 years agoFeat(ls-assumed): Recognize files with skip-worktree bit
Oleg Broytman [Fri, 9 Mar 2018 22:07:28 +0000 (01:07 +0300)]
Feat(ls-assumed): Recognize files with skip-worktree bit

Recognize files with `git update-index --skip-worktree`
in addition to `--assume-unchanged`.

4 years agoFeat: Script to fix .git/config executable bits
Oleg Broytman [Fri, 2 Mar 2018 07:59:04 +0000 (10:59 +0300)]
Feat: Script to fix .git/config executable bits

4 years agoFeat: Add a script to update .git/hooks/*.sample
Oleg Broytman [Fri, 2 Mar 2018 07:58:15 +0000 (10:58 +0300)]
Feat: Add a script to update .git/hooks/*.sample

4 years agoFix: Run chmod only after clone
Oleg Broytman [Fri, 2 Mar 2018 07:53:32 +0000 (10:53 +0300)]
Fix: Run chmod only after clone

4 years agoFeat(submodule): Test .gitmodules before running `git submodule`
Oleg Broytman [Mon, 26 Feb 2018 19:48:29 +0000 (22:48 +0300)]
Feat(submodule): Test .gitmodules  before running `git submodule`

4 years agoFeat(status): Copy index and set GIT_INDEX_FILE to avoid touching .git
Oleg Broytman [Mon, 26 Feb 2018 19:05:00 +0000 (22:05 +0300)]
Feat(status): Copy index and set GIT_INDEX_FILE to avoid touching .git

4 years agoAdd gc-expire scripts
Oleg Broytman [Sat, 3 Feb 2018 03:30:05 +0000 (06:30 +0300)]
Add gc-expire scripts

4 years agoRename gc-and-repack -> gc-repack
Oleg Broytman [Sat, 3 Feb 2018 03:26:44 +0000 (06:26 +0300)]
Rename gc-and-repack -> gc-repack

4 years agoFeat: Split git-open into git-open-remote
Oleg Broytman [Wed, 13 Dec 2017 19:35:17 +0000 (22:35 +0300)]
Feat: Split git-open into git-open-remote

git-open can now open any config key.
git-open-remote opens remotes URLs.

4 years agoFeat(locate-all): Case-sensitive sort
Oleg Broytman [Wed, 13 Dec 2017 12:15:32 +0000 (15:15 +0300)]
Feat(locate-all): Case-sensitive sort

5 years agoFix(fork): Add remote origin if it doesn't exist in an existing repo
Oleg Broytman [Fri, 27 Oct 2017 00:50:13 +0000 (03:50 +0300)]
Fix(fork): Add remote origin if it doesn't exist in an existing repo

5 years agoFix(fork): Do not add the existing repo to locate-all.list
Oleg Broytman [Fri, 27 Oct 2017 00:48:17 +0000 (03:48 +0300)]
Fix(fork): Do not add the existing repo to locate-all.list

5 years agoFeat: Add `clone` script
Oleg Broytman [Wed, 11 Oct 2017 21:56:56 +0000 (00:56 +0300)]
Feat: Add `clone` script

5 years agoFeat(fork): Check .git in the current directory
Oleg Broytman [Wed, 11 Oct 2017 21:47:50 +0000 (00:47 +0300)]
Feat(fork): Check .git in the current directory

5 years agoFeat(git-open): Get remote from the current branch
Oleg Broytman [Sun, 20 Aug 2017 21:01:32 +0000 (00:01 +0300)]
Feat(git-open): Get remote from the current branch

5 years agoMerge fork-existing into fork
Oleg Broytman [Sat, 19 Aug 2017 19:08:33 +0000 (22:08 +0300)]
Merge fork-existing into fork

5 years agoAdd fork-existing
Oleg Broytman [Tue, 30 May 2017 14:23:23 +0000 (17:23 +0300)]
Add fork-existing

5 years agoRemove scripts for manipulating projects
Oleg Broytman [Sat, 29 Apr 2017 22:26:33 +0000 (01:26 +0300)]
Remove scripts for manipulating projects

Moved to cookiecutter repo.

5 years agoRename update -> update-remotes
Oleg Broytman [Mon, 17 Apr 2017 19:57:15 +0000 (22:57 +0300)]
Rename update -> update-remotes

5 years agoFix publish2web: put the real web directory to locate-all.list
Oleg Broytman [Sat, 15 Apr 2017 23:17:41 +0000 (02:17 +0300)]
Fix publish2web: put the real web directory to locate-all.list

`pwd` was ~/tmp there.

5 years agoAdd cloned repository to the list of repos to process
Oleg Broytman [Tue, 11 Apr 2017 20:16:47 +0000 (23:16 +0300)]
Add cloned repository to the list of repos to process

5 years agoAdapt set-commit-date.py to Python 3: turn on universal_newlines
Oleg Broytman [Sun, 9 Apr 2017 01:21:40 +0000 (04:21 +0300)]
Adapt set-commit-date.py to Python 3: turn on universal_newlines

5 years agoUse `git branch --verbose` instead of `git status --branch`
Oleg Broytman [Sun, 19 Mar 2017 18:44:14 +0000 (21:44 +0300)]
Use `git branch --verbose` instead of `git status --branch`

Remove ls-not-pushed-carefully - it's no longer needed
as ls-not-pushed doesn't call `git status` anymore.

5 years agoIgnore archive/cheetah3 - it's a mirror of current/cheetah3
Oleg Broytman [Thu, 16 Mar 2017 23:28:40 +0000 (02:28 +0300)]
Ignore archive/cheetah3 - it's a mirror of current/cheetah3

5 years agoFix recursive gc/repack/fsck
Oleg Broytman [Sat, 11 Mar 2017 19:03:36 +0000 (22:03 +0300)]
Fix recursive gc/repack/fsck

5 years agoTest dirty status or not pushed state
Oleg Broytman [Mon, 9 Jan 2017 17:06:51 +0000 (20:06 +0300)]
Test dirty status or not pushed state

5 years agoTest status only in repos with worktrees
Oleg Broytman [Mon, 9 Jan 2017 17:03:34 +0000 (20:03 +0300)]
Test status only in repos with worktrees

5 years agoFix base directory name: do not remove .git suffix
Oleg Broytman [Mon, 9 Jan 2017 16:57:39 +0000 (19:57 +0300)]
Fix base directory name: do not remove .git suffix

5 years agoTest grep error code, not output
Oleg Broytman [Mon, 9 Jan 2017 16:31:10 +0000 (19:31 +0300)]
Test grep error code, not output

5 years agoAdd `fork` script to setup upstream and origin remotes
Oleg Broytman [Tue, 20 Dec 2016 19:15:11 +0000 (22:15 +0300)]
Add `fork` script to setup upstream and origin remotes

5 years agoUse xargs -I%
Oleg Broytman [Fri, 16 Dec 2016 18:36:04 +0000 (21:36 +0300)]
Use xargs -I%

5 years agoRename source -> upstream
Oleg Broytman [Sun, 11 Dec 2016 13:06:04 +0000 (16:06 +0300)]
Rename source -> upstream

6 years agoDo not pack submodules in bare repos
Oleg Broytman [Fri, 11 Nov 2016 15:00:49 +0000 (18:00 +0300)]
Do not pack submodules in bare repos

6 years agoAdd a script to list repos with assumed unchanged files
Oleg Broytman [Wed, 9 Nov 2016 17:11:19 +0000 (20:11 +0300)]
Add a script to list repos with assumed unchanged files

6 years agoRun git gc/repack/fsck recursively (on submodules)
Oleg Broytman [Sun, 6 Nov 2016 13:03:21 +0000 (16:03 +0300)]
Run git gc/repack/fsck recursively (on submodules)