-
Notifications
You must be signed in to change notification settings - Fork 1
/
convert_full_repo.sh
executable file
·68 lines (64 loc) · 3.58 KB
/
convert_full_repo.sh
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
#!/bin/bash
################################################################################
# Copyright (c) 2014 Elphel, Inc.
# This file is a part of VDT plug-in.
# VDT plug-in is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# VDT plug-in is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Additional permission under GNU GPL version 3 section 7:
# If you modify this Program, or any covered work, by linking or combining it
# with Eclipse or Eclipse plugins (or a modified version of those libraries),
# containing parts covered by the terms of EPL/CPL, the licensors of this
# Program grant you additional permission to convey the resulting work.
# {Corresponding Source for a non-source form of such a combination shall
# include the source code for the parts of Eclipse or Eclipse plugins used
# as well as that of the covered work.}
################################################################################
#Usage:
# 1 - run ./create_vdt_veditor_patch.sh
# 2 - commit it
# 3 - remove/rename ../vdt-plugin if it exists
# 4 - run this script, it will create ../vdt-plugin repository
# 5 - edit ../vdt-plugin/.gitignore - it may have duplicates
# 6 - run "git remote set-url origin [email protected]:Elphel/vdt-plugin.git" in the new repo (git commit -i .gitignor -m "after auto")
# 7 ? Had conflicts in vdt-veditor.patch. Used new version, "git add vdt-veditor.patch", "git commit -i vdt-veditor.patch"
INITIAL_DIRECTORY=`pwd`
#FULL_REPO_URL="[email protected]:Elphel/vdt.git"
FULL_REPO_URL="[email protected]:Elphel/vdt.git"
DERIVATIVE_REPO_NAME="vdt-plugin"
#create derivative repo at the same level as current
cd ../
cp -v -r "$INITIAL_DIRECTORY" "$DERIVATIVE_REPO_NAME"
cd "$DERIVATIVE_REPO_NAME"
echo "Removing git remote origin to prevent accidental corruption of the original repository"
echo "You may set it late with \"git remote set-url origin <new-url>\""
git remote set-url origin ""
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch src/com/elphel/vdt/veditor/*' --prune-empty --tag-name-filter cat -- --all
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch -r _generated' --prune-empty --tag-name-filter cat -- --all
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch about_veditor.html' --prune-empty --tag-name-filter cat -- --all
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch src/com/elphel/vdt/core/launching/VDTErrorParser.java' --prune-empty --tag-name-filter cat -- --all
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch ChangeLogVeditor.txt' --prune-empty --tag-name-filter cat -- --all
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch CONTRIBUTORS_VEDITOR.txt' --prune-empty --tag-name-filter cat -- --all
echo "Modifying gitignore to include removed files/directories"
cat << EOF >> .gitignore
src/com/elphel/vdt/veditor
_generated
src/com/elphel/vdt/core/launching/VDTErrorParser.java
about_veditor.html
ChangeLogVeditor.txt
CONTRIBUTORS_VEDITOR.txt
EOF
git commit .gitignore -m "added files to be generated by patching VEditor"
cd "$INITIAL_DIRECTORY"
pwd
exit 0