No subject
Fri Mar 19 13:53:46 EDT 2010
First, rewinding head to replay your work on top of it...
Fast-forwarded master to c5f3c079ec12a1a85526a56e40147ded8089b7f0.
kmorel2 0> git status /Users/kmorel/src/Para=
View
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working director=
y)
#
# modified: VTK
#
no changes added to commit (use "git add" and/or "git commit -a")
kmorel2 1> /Users/kmorel/src/Para=
View
Does anyone have a clue why git is reporting VTK as modified or how to fix =
it? I first noticed this as I was testing my dashboards and saw that updat=
e was reporting errors.
-Ken
**** Kenneth Moreland
*** Sandia National Laboratories
***********
*** *** *** email: kmorel at sandia.gov <http://kmorel@sandia.gov> <http://k=
morel at sandia.gov> <http://kmorel@sandia.gov> <http://kmorel@sandia.gov> =
<http://kmorel@sandia.gov>
** *** ** phone: (505) 844-8919
*** web: http://www.cs.unm.edu/~kmorel
_______________________________________________
Paraview-developers mailing list
Paraview-developers at paraview.org <http://Paraview-developers@paraview.org> =
<http://Paraview-developers@paraview.org> <http://Paraview-developers@par=
aview.org> <http://Paraview-developers@paraview.org>
http://public.kitware.com/mailman/listinfo/paraview-developers
**** Kenneth Moreland
*** Sandia National Laboratories
***********
*** *** *** email: kmorel at sandia.gov <http://kmorel@sandia.gov> <http://k=
morel at sandia.gov> <http://kmorel@sandia.gov> <http://kmorel@sandia.gov>
** *** ** phone: (505) 844-8919
*** web: http://www.cs.unm.edu/~kmorel
**** Kenneth Moreland
*** Sandia National Laboratories
***********
*** *** *** email: kmorel at sandia.gov <http://kmorel@sandia.gov> <http://k=
morel at sandia.gov> <http://kmorel@sandia.gov>
** *** ** phone: (505) 844-8919
*** web: http://www.cs.unm.edu/~kmorel
**** Kenneth Moreland
*** Sandia National Laboratories
***********
*** *** *** email: kmorel at sandia.gov <http://kmorel@sandia.gov> <http://k=
morel at sandia.gov>
** *** ** phone: (505) 844-8919
*** web: http://www.cs.unm.edu/~kmorel
**** Kenneth Moreland
*** Sandia National Laboratories
***********
*** *** *** email: kmorel at sandia.gov <http://kmorel@sandia.gov>
** *** ** phone: (505) 844-8919
*** web: http://www.cs.unm.edu/~kmorel
**** Kenneth Moreland
*** Sandia National Laboratories
***********
*** *** *** email: kmorel at sandia.gov
** *** ** phone: (505) 844-8919
*** web: http://www.cs.unm.edu/~kmorel
--_000_C8046211153D3kmorelsandiagov_
Content-Type: text/html;
charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
<HTML>
<HEAD>
<TITLE>Re: [Paraview-developers] New git repo: reporting changed repo after=
only pull</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>OK, I finally got a chance to implement this, and it looks alright so=
far.<BR>
<BR>
This seems like something CTest should simply handle as part of updating a =
project. Has anyone submitted a bug (or feature request depending on =
your POV) to the CMake project?<BR>
<BR>
-Ken<BR>
<BR>
<BR>
On 4/28/10 8:56 AM, "Dave Partyka" <<a href=3D"dave.partyka at ki=
tware.com">dave.partyka at kitware.com</a>> wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Hey Ken and Kevin, Here is how to fix ctest=
_update so that the update step doesn't submit=A0erroneous=A0modified files=
due to submodule update.<BR>
<BR>
ctest_update only does a pull and then other things to see if there are loc=
ally modified files. Because of this, it will always fail in the presence o=
f submodules because after the pull they will report they have been modifie=
d until you submodule update. To fix this we have made tiny wrapper scripts=
that will pull and submodule update in a single step. What you have to do =
in your dashboard script is configure the appropriate git script (sets the =
path to git). And then override CTEST_GIT_COMMAND to call that script rathe=
r than git directly. Here is what I am doing in paraview_common.<BR>
<BR>
# look for the git mod scripts in the same dir as the script.<BR>
get_filename_component(dashboard_self_dir ${CMAKE_CURRENT_LIST_FILE} PATH)<=
BR>
<BR>
if(UNIX)<BR>
=A0=A0configure_file(${dashboard_self_dir}/gitmod.sh.in <<a href=3D"http=
://gitmod.sh.in">http://gitmod.sh.in</a>> <BR>
=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ${CTEST_DASHBOARD_ROOT}/gitmod.sh<BR>
=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 @ONLY)<BR>
=A0=A0set(CTEST_GIT_COMMAND ${CTEST_DASHBOARD_ROOT}/gitmod.sh)<BR>
else()<BR>
=A0=A0configure_file(${dashboard_self_dir}/gitmod.bat.in <<a href=3D"htt=
p://gitmod.bat.in">http://gitmod.bat.in</a>> <BR>
=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ${CTEST_DASHBOARD_ROOT}/gitmod.bat<BR>
=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 @ONLY)<BR>
=A0=A0set(CTEST_GIT_COMMAND ${CTEST_DASHBOARD_ROOT}/gitmod.bat)<BR>
endif()<BR>
<BR>
---------------------------------------------------------------------------=
----------------------------------------<BR>
contents of gitmod.bat.in <<a href=3D"http://gitmod.bat.in">http://gitmo=
d.bat.in</a>> <BR>
<BR>
@echo off<BR>
set GIT=3D at CTEST_GIT_COMMAND@<BR>
call "%GIT%" %*<BR>
if "%1" equ "pull" (<BR>
=A0=A0"%GIT%" submodule update<BR>
)<BR>
<BR>
---------------------------------------------------------------------------=
----------------------------------------<BR>
contents of gitmod.sh.in <<a href=3D"http://gitmod.sh.in">http://gitmod.=
sh.in</a>> <BR>
<BR>
#!/bin/sh<BR>
GIT=3D"@CTEST_GIT_COMMAND@"<BR>
"$GIT" "$@" &&<BR>
if test "$1" =3D=3D "pull"; then<BR>
=A0=A0 =A0"$GIT" submodule update<BR>
fi<BR>
<BR>
<BR>
<BR>
On Thu, Apr 22, 2010 at 5:49 PM, Moreland, Kenneth <<a href=3D"kmorel at sa=
ndia.gov">kmorel at sandia.gov</a>> wrote:<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>My script does <I>not</I> do the initial cl=
one. =A0It updates an existing repository.<BR>
<BR>
The problem is that ctest_update is performing two basic operations: pull f=
rom the origin repository (calls git pull) and check that the local reposit=
ory is consistent (I don’t know how, but let’s say by calling g=
it status). =A0The problem is that the local repository won’t actuall=
y be consistent until the submodules are updated.<BR>
<BR>
Thus, if I call submodule update before ctest_update, I get the following s=
equence of events.<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>git submodule update<BR>
git pull<BR>
<I>check </I>git status<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial=
"><SPAN STYLE=3D'font-size:11pt'><BR>
If I call submodule update after calling ctest_update, I get this sequence =
of events.<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>git pull<BR>
<I>check </I>git status<BR>
git submodule update<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial=
"><SPAN STYLE=3D'font-size:11pt'><BR>
This is marginally better because now at least the end result is a fully up=
dated repository. =A0But the problem is that by the time the submodules are=
updated, the consistency check has already occurred and the erroneous erro=
r has already been recorded.<BR>
<BR>
-Ken<BR>
<BR>
<BR>
On 4/22/10 3:38 PM, "Dave Partyka" <<a href=3D"dave.partyka at ki=
tware.com">dave.partyka at kitware.com</a> <<a href=3D"http://dave.partyka@=
kitware.com">http://dave.partyka@kitware.com</a>> > wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Sorry you are right, it should be after cte=
st_update(). What is the reason that ctest_update() is failing for you? Bec=
ause the submodules don't exist yet?=A0<BR>
<BR>
Does your script do the initial clone?<BR>
<BR>
If so, you're going to want to do something like:<BR>
<BR>
if(NOT EXISTS src_dir)<BR>
=A0=A0clone<BR>
=A0=A0<optionally checkout a branch><BR>
=A0=A0submodule init<BR>
=A0=A0submodule update<BR>
endif()<BR>
<BR>
ctest_update()<BR>
<BR>
submodule update<BR>
<BR>
<BR>
On Thu, Apr 22, 2010 at 5:18 PM, Moreland, Kenneth <<a href=3D"kmorel at sa=
ndia.gov">kmorel at sandia.gov</a> <<a href=3D"http://kmorel@sandia.gov">ht=
tp://kmorel@sandia.gov</a>> > wrote:<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>How will that work? =A0If I put it before c=
test_update, then it will run before the VTK submodule SHA gets updated. =
=A0Thus, it my not grab the commit that you actually need. =A0Or does the s=
ubmodule update command implicitly fetch everything from the remote regardl=
ess of whether it is needed?<BR>
<BR>
-Ken<BR>
<BR>
<BR>
<BR>
On 4/22/10 3:02 PM, "Dave Partyka" <<a href=3D"dave.partyka at ki=
tware.com">dave.partyka at kitware.com</a> <<a href=3D"http://dave.partyka@=
kitware.com">http://dave.partyka@kitware.com</a>> <<a href=3D"h=
ttp://dave.partyka@kitware.com">http://dave.partyka@kitware.com</a>> >=
; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>You want to put it before ctest_update is c=
alled.<BR>
<BR>
On Thu, Apr 22, 2010 at 3:40 PM, Moreland, Kenneth <<a href=3D"kmorel at sa=
ndia.gov">kmorel at sandia.gov</a> <<a href=3D"http://kmorel@sandia.gov">ht=
tp://kmorel@sandia.gov</a>> <<a href=3D"http://kmorel@sandia.go=
v">http://kmorel@sandia.gov</a>> > wrote:<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>I tried adding your execute_process after m=
y call to ctest_update, but I don’t think it’s quite working. =
=A0The problem is that the submodule update command does not get run until =
after the ctest_update call returns, and by that time CTest has already det=
ermined that the update has failed.<BR>
<BR>
Where exactly should I be putting the execute_process?<BR>
<BR>
-Ken<BR>
<BR>
<BR>
<BR>
On 4/20/10 7:07 AM, "Dave Partyka" <<a href=3D"dave.partyka at ki=
tware.com">dave.partyka at kitware.com</a> <<a href=3D"http://dave.partyka@=
kitware.com">http://dave.partyka@kitware.com</a>> <<a href=3D"h=
ttp://dave.partyka@kitware.com">http://dave.partyka@kitware.com</a>> =A0=
<<a href=3D"http://dave.partyka@kitware.com">http://dave.partyka@kitware=
.com</a>> > wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>You're going to want to add something like =
this in your script for initial checkout:<BR>
<BR>
=A0=A0execute_process(<BR>
=A0=A0 =A0COMMAND \"${CTEST_GIT_COMMAND}\" submodule init<BR>
=A0=A0 =A0WORKING_DIRECTORY \"${CTEST_SOURCE_DIRECTORY}\"<BR>
=A0=A0 =A0)<BR>
<BR>
And for each update you'll want:<BR>
<BR>
=A0=A0execute_process(<BR>
=A0=A0 =A0COMMAND \"${CTEST_GIT_COMMAND}\" submodule update --rec=
ursive --<BR>
=A0=A0 =A0WORKING_DIRECTORY \"${CTEST_SOURCE_DIRECTORY}\"<BR>
=A0=A0 =A0)<BR>
<BR>
Also this will be handy:<BR>
<BR>
# Look for a GIT command-line client.<BR>
if(NOT DEFINED CTEST_GIT_COMMAND)<BR>
find_program(CTEST_GIT_COMMAND NAMES git git.cmd)<BR>
endif()<BR>
<BR>
On Mon, Apr 19, 2010 at 7:16 PM, Dave Partyka <<a href=3D"dave.partyka at k=
itware.com">dave.partyka at kitware.com</a> <<a href=3D"http://dave.partyka=
@kitware.com">http://dave.partyka@kitware.com</a>> <<a href=3D"=
http://dave.partyka@kitware.com">http://dave.partyka@kitware.com</a>> =
=A0<<a href=3D"http://dave.partyka@kitware.com">http://dave.partyka@kitw=
are.com</a>> > wrote:<BR>
</SPAN></FONT></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQU=
OTE></BLOCKQUOTE></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Ar=
ial"><SPAN STYLE=3D'font-size:11pt'>I do not know if ctest knows how to upd=
ate submodules automatically. I have it on my todo list to talk to Brad Kin=
g about this for the same reason for updating the ParaView dashboards here =
at Kitware. I'll share what I find out.<BR>
<BR>
<BR>
On Mon, Apr 19, 2010 at 7:13 PM, Moreland, Kenneth <<a href=3D"kmorel at sa=
ndia.gov">kmorel at sandia.gov</a> <<a href=3D"http://kmorel@sandia.gov">ht=
tp://kmorel@sandia.gov</a>> <<a href=3D"http://kmorel@sandia.go=
v">http://kmorel@sandia.gov</a>> =A0<<a href=3D"http://kmorel@sandia.=
gov">http://kmorel@sandia.gov</a>> > wrote:<BR>
Yes. =A0That seems to fix the problem. =A0However, is there a way to get ct=
est to run that after pulling? =A0Otherwise we’ll still get a bunch o=
f errors in the dashboard.<BR>
<BR>
-Ken<BR>
<BR>
<BR>
<BR>
On 4/19/10 5:09 PM, "Dave Partyka" <<a href=3D"dave.partyka at ki=
tware.com">dave.partyka at kitware.com</a> <<a href=3D"http://dave.partyka@=
kitware.com">http://dave.partyka@kitware.com</a>> <<a href=3D"h=
ttp://dave.partyka@kitware.com">http://dave.partyka@kitware.com</a>> =A0=
<<a href=3D"http://dave.partyka@kitware.com">http://dave.partyka@kitware=
.com</a>> =A0<<a href=3D"http://dave.partyka@kitware.com">http://dave=
.partyka at kitware.com</a>> > wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helve=
tica, Arial"><SPAN STYLE=3D'font-size:11pt'>does 'git submodule update' hel=
p?<BR>
<BR>
On Mon, Apr 19, 2010 at 7:02 PM, Moreland, Kenneth <<a href=3D"kmorel at sa=
ndia.gov">kmorel at sandia.gov</a> <<a href=3D"http://kmorel@sandia.gov">ht=
tp://kmorel@sandia.gov</a>> <<a href=3D"http://kmorel@sandia.go=
v">http://kmorel@sandia.gov</a>> =A0<<a href=3D"http://kmorel@sandia.=
gov">http://kmorel@sandia.gov</a>> =A0<<a href=3D"http://kmorel@sandi=
a.gov">http://kmorel@sandia.gov</a>> > wrote:<BR>
I noticed something odd when converting to the new git repositories today. =
=A0After only cloning the repository, setting up the modules, and then pull=
ing (using the --rebase flag as described on the Wiki), status reports that=
I have made a change in my repository even though I have not. =A0Here is a=
terminal capture of a newly cloned ParaView repository (after modules and =
hooks are set up).<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><BLOCKQUOTE><FONT SIZE=3D"2"><FONT FACE=3D"Consol=
as, Courier New, Courier"><SPAN STYLE=3D'font-size:10pt'>kmorel2 0> git =
status =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0/Users/kmorel/src/ParaView<BR>
# On branch master<BR>
nothing to commit (working directory clean)<BR>
kmorel2 1> git pull --rebase =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0/Users/kmorel/src/ParaView<BR>
remote: Counting objects: 44, done.<BR>
remote: Compressing objects: 100% (26/26), done.<BR>
remote: Total 26 (delta 20), reused 0 (delta 0)<BR>
Unpacking objects: 100% (26/26), done.<BR>
More information about the Paraview-developers
mailing list