File: aeedit.in

package info (click to toggle)
aegis 4.24.3-3
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 34,056 kB
  • ctags: 12,500
  • sloc: cpp: 178,528; sh: 79,948; makefile: 34,813; yacc: 4,610; perl: 1,499; ansic: 492; awk: 325
file content (103 lines) | stat: -rw-r--r-- 2,303 bytes parent folder | download | duplicates (3)
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
#!/bin/sh
#
#	aegis - project change supervisor
#       Copyright (C) 2003 Scott Finneran
#       Copyright (C) 2008 Peter Miller
#
#	This program 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.
#
#	This program 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/>.
#

usage="Usage: $0 [-p aegisProject] [-c aegisChange]"

#
# Cancel any PlasticFS that mey be in force at present.
#
unset LD_PRELOAD
unset PLASTICFS

bindir=@bindir@
projNam=`$bindir/aesub '${project}' -bl 2>/dev/null`
chanNum=`$bindir/aesub '${change}' 2>/dev/null`

while getopts ":p:c:" opt
do
    case $opt in
    p)
	projNam=$OPTARG
	;;
    c)
	chanNum=$OPTARG
	;;
    \?)
	echo $usage
	exit 1
	;;
    esac
done

if [ -z "$projNam" ]
then
    echo "Could not determine Aegis project" 1>&2
    exit 1
fi
AEGIS_PROJECT=$projNam
export AEGIS_PROJECT

if [ -z "$chanNum" ]
then
    echo "Could not determine Aegis change" 1>&2
    exit 1
fi
AEGIS_CHANGE=$chanNum
export AEGIS_CHANGE

# Go to the change directory.
cd `$bindir/aegis -cd -ter`

# get this list of files
# (best to do this before LD_PRELOAD is set)
cf=`aegis -l cf -terse`

#
# Work out if PlasticFS is installed
#
LD_PRELOAD=libplasticfs.so /bin/true > /dev/null 2>&1
if [ "$?" -eq 0 ]
then
    #
    # Ask Aegis where the files live.
    #
    vPath=`$bindir/aesub '${split : ${search_path}}'`
    if [ "$?" -eq 0 ]
    then
	#
	# Have PlasticFS present the editor with a unified view of the
	# search path.
	#
	LD_PRELOAD=libplasticfs.so
	PLASTICFS="viewpath $vPath"
	export LD_PRELOAD
	export PLASTICFS
    fi
fi

#
# Pass all filenames for this change to the editor.
# The default editor is vi.
#
# Do not throw into the background, because not all editors are graphical.
# If the user wants this, she can put & on the end of the command.
#
${EDITOR-@VI_PROG@} $cf