-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpost-commit.bat
159 lines (154 loc) · 7.07 KB
/
post-commit.bat
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#!/bin/sh
# POST-COMMIT HOOK
#
# The post-commit hook is invoked after a commit. Subversion runs
# this hook by invoking a program (script, executable, binary, etc.)
# named 'post-commit' (for which this file is a template) with the
# following ordered arguments:
#
# [1] REPOS-PATH (the path to this repository)
# [2] REV (the number of the revision just committed)
# [3] TXN-NAME (the name of the transaction that has become REV)
#
# The default working directory for the invocation is undefined, so
# the program should set one explicitly if it cares.
#
# Because the commit has already completed and cannot be undone,
# the exit code of the hook program is ignored. The hook program
# can use the 'svnlook' utility to help it examine the
# newly-committed tree.
#
# On a Unix system, the normal procedure is to have 'post-commit'
# invoke other programs to do the real work, though it may do the
# work itself too.
#
# Note that 'post-commit' must be executable by the user(s) who will
# invoke it (typically the user httpd runs as), and that user must
# have filesystem-level permission to access the repository.
#
# On a Windows system, you should name the hook program
# 'post-commit.bat' or 'post-commit.exe',
# but the basic idea is the same.
#
# The hook program typically does not inherit the environment of
# its parent process. For example, a common problem is for the
# PATH environment variable to not be set to its usual value, so
# that subprograms fail to launch unless invoked via absolute path.
# If you're having unexpected problems with a hook program, the
# culprit may be unusual (or missing) environment variables.
#
# Here is an example hook script, for a Unix /bin/sh interpreter.
# For more examples and pre-written hooks, see those in
# the Subversion repository at
# http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ and
# http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/
SET REPOS=%1
SET REV=%2
echo %REPOS% %REV% >> %REPOS%/commit.txt
#E:\curl-7.67.0_4-win64-mingw\curl-7.67.0-win64-mingw\bin\curl -u SumanReddy:SumanReddy http://localhost:8080/job/maven-build-job/build?token=token_to_build
#@ECHO OFF
#REM *************************************************************
#REM * this sets the arguments supplied by Subversion *
#REM *************************************************************
#SET REPOS=%1
#SET REV=%2
#
#REM *************************************************************
#REM * define directory paths *
#REM * you *must* add any paths for command line tools you plan *
#REM * since SVN does not include the Windows %PATH% environment *
#REM * variable for security reasons. *
#REM * *
#REM * DIR - the current hooks directory *
#REM * PATH - a user set path of where executables are located *
#REM * *
#REM *************************************************************
#SET DIR=%REPOS%/hooks
#REM *************************************************************
#REM * make sure to add the path to the SendEmail executable *
#REM *************************************************************
#SET PATH=%PATH%;%DIR%
#
#REM *************************************************************
#REM * define the path to the working copy of your code *
#REM * *
#REM * the default working_copy folder would be: *
#REM * file:///%REPOS% *
#REM *************************************************************
#SET WORKING_COPY=file:///%REPOS%
#
#REM *************************************************************
#REM * define e-mail parameters *
#REM *************************************************************
#SET SITENAME=My Code Base
#SET SMTP_SERVER=smtp.gmail.com
#SET [email protected]
#SET [email protected]
#SET [email protected]
#SET PWD=il0veindi@
#SET SUBJECT=SVN Update - %SITENAME% - rev %REV% - %REPOS%
#
#REM *************************************************************
#REM * update the local working copy *
#REM * this will sync the new changes to your servers copy *
#REM *************************************************************
#svn update %WORKING_COPY%
#
#REM *************************************************************
#REM * generate the header to use for the e-mail message *
#REM *************************************************************
#ECHO The following changes were made to the code: > %DIR%/email.txt
#ECHO. >> %DIR%/email.txt
#
#REM *************************************************************
#REM * dump the log of changes to the e-mail message *
#REM *************************************************************
#svn log %WORKING_COPY% -v -r "%REV%" >> %DIR%/email.txt
#
#REM *************************************************************
#REM * dump the diff changes to the e-mail message *
#REM * *
#REM * WARNING: Generates tons of output *
#REM * *
#REM * NOTE: this is optional, you can remove this information *
#REM * if you do not want a verbose message of changes *
#REM *************************************************************
#svn diff %WORKING_COPY% -c "%REV%" --no-diff-deleted >> %DIR%/email.txt
#
#REM *************************************************************
#REM * send the e-mail message to the user *
#REM * *
#REM * NOTE: to create a SendEmail.log file, append: *
#REM * *
#REM * -l %DIR%/SendEmail.log *
#REM * *
#REM * at the end of the line below. *
#REM *************************************************************
#sendEmail -s %SMTP_SERVER%:587 -t %EMAIL_TO% -f %EMAIL_FROM% -u "%SUBJECT%" -xu %USER_NAME% -xp %PWD% -o tls=yes -o message-file=%DIR%/email.txt -l %DIR%/SendEmail.log
#
#
#
#
#SET REPOS=%1
#SET REV=%2
#
#FOR /f "tokens=*" %%a IN (
#'svnlook uuid %REPOS%'
#) DO (
#SET UUID=%%a
#)
#
#FOR /f "tokens=*" %%b IN (
#'svnlook changed --revision %REV% %REPOS%'
#) DO (
#SET POST=%%b
#)
#echo %POST% %UUID% >> %REPOS%/commit.txt
#
#E:\curl-7.67.0_4-win64-mingw\curl-7.67.0-win64-mingw\bin\curl ^
# -u SumanReddy:1179eaaa1435ae2e34b5dc26218c26358d
# --header="Content-Type:text/plain;charset=UTF-8" ^
# --post-data="%POST%" ^
# --output-document="-" ^
# --timeout=2 ^
# http://localhost:8080/jenkins/subversion/%UUID%/notifyCommit?rev=%REV%