snipt

Ctrl+h for KB shortcuts

Bash

update drupal from subversion tags

# Update a Drupal minor revision using a patch file.
# Creating a patch file between cvs tags on the server proved to be 
# impossible. I've found a way to do this with a subversion mirror
# of Drupal core.

cd ~/path/to/local/drupal

# What is current version of Drupal?
cat CHANGELOG.txt | grep Drupal | head -1
## Drupal 6.13, 2009-07-01

# I'm using a Subversion mirror of Drupal core to create the patch.
# (Thanks to the guys at subversible.com!)
svn diff http://subversible.com/svn/drupal/tags/DRUPAL-6-13 \ 
         http://subversible.com/svn/drupal/tags/DRUPAL-6-14 > d6-14.patch 

# The local version of drupal was created from a tarball, and the date 
# format inside the $Id$ (from CVS) is: YYYY/mm/dd HH:MM:SS,  but in the 
# subversion patch it was YYYY-mm-dd HH:MM:SS.  So I had to this quick 
# find/replace in order to get the patch to apply cleanly.
perl -pi -e 's/(\d{4})-(\d{2})-(\d{2})\s(\d{2})/\1\/\2\/\3 \4/g' d6-14.patch


# Check to see if you have any outstanding uncommitted local changes. If
# there are some changes then execute the commit (commented out below).
svn status
#svn commit -m "latest changes prior to drupal core update"

# Apply the patch.  The patch from svn diff command should be in 
# unified diff format (-u) and the paths should be taken as they are so 
# files in subfolders are matched (-p0).
patch -p0 -u <d6-14.patch


#dont forget to commit the updates...
svn commit -m "updated core drupal"

#optionally, tag the updated code in the repository
https://snipt.net/embed/65217882ba4c659e9d0b6d9eeb25504b/
/raw/65217882ba4c659e9d0b6d9eeb25504b/
65217882ba4c659e9d0b6d9eeb25504b
bash
Bash
42
2019-08-21T00:33:37
True
False
False
/api/public/snipt/10756/
update-drupal-from-subversion-tags
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a> <a href="#L-18">18</a> <a href="#L-19">19</a> <a href="#L-20">20</a> <a href="#L-21">21</a> <a href="#L-22">22</a> <a href="#L-23">23</a> <a href="#L-24">24</a> <a href="#L-25">25</a> <a href="#L-26">26</a> <a href="#L-27">27</a> <a href="#L-28">28</a> <a href="#L-29">29</a> <a href="#L-30">30</a> <a href="#L-31">31</a> <a href="#L-32">32</a> <a href="#L-33">33</a> <a href="#L-34">34</a> <a href="#L-35">35</a> <a href="#L-36">36</a> <a href="#L-37">37</a> <a href="#L-38">38</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="c1"># Update a Drupal minor revision using a patch file.</span> </span><span id="L-2"><a name="L-2"></a><span class="c1"># Creating a patch file between cvs tags on the server proved to be </span> </span><span id="L-3"><a name="L-3"></a><span class="c1"># impossible. I&#39;ve found a way to do this with a subversion mirror</span> </span><span id="L-4"><a name="L-4"></a><span class="c1"># of Drupal core.</span> </span><span id="L-5"><a name="L-5"></a> </span><span id="L-6"><a name="L-6"></a><span class="nb">cd</span> ~/path/to/local/drupal </span><span id="L-7"><a name="L-7"></a> </span><span id="L-8"><a name="L-8"></a><span class="c1"># What is current version of Drupal?</span> </span><span id="L-9"><a name="L-9"></a>cat CHANGELOG.txt <span class="p">|</span> grep Drupal <span class="p">|</span> head -1 </span><span id="L-10"><a name="L-10"></a><span class="c1">## Drupal 6.13, 2009-07-01</span> </span><span id="L-11"><a name="L-11"></a> </span><span id="L-12"><a name="L-12"></a><span class="c1"># I&#39;m using a Subversion mirror of Drupal core to create the patch.</span> </span><span id="L-13"><a name="L-13"></a><span class="c1"># (Thanks to the guys at subversible.com!)</span> </span><span id="L-14"><a name="L-14"></a>svn diff http://subversible.com/svn/drupal/tags/DRUPAL-6-13 <span class="se">\ </span> </span><span id="L-15"><a name="L-15"></a> http://subversible.com/svn/drupal/tags/DRUPAL-6-14 &gt; d6-14.patch </span><span id="L-16"><a name="L-16"></a> </span><span id="L-17"><a name="L-17"></a><span class="c1"># The local version of drupal was created from a tarball, and the date </span> </span><span id="L-18"><a name="L-18"></a><span class="c1"># format inside the $Id$ (from CVS) is: YYYY/mm/dd HH:MM:SS, but in the </span> </span><span id="L-19"><a name="L-19"></a><span class="c1"># subversion patch it was YYYY-mm-dd HH:MM:SS. So I had to this quick </span> </span><span id="L-20"><a name="L-20"></a><span class="c1"># find/replace in order to get the patch to apply cleanly.</span> </span><span id="L-21"><a name="L-21"></a>perl -pi -e <span class="s1">&#39;s/(\d{4})-(\d{2})-(\d{2})\s(\d{2})/\1\/\2\/\3 \4/g&#39;</span> d6-14.patch </span><span id="L-22"><a name="L-22"></a> </span><span id="L-23"><a name="L-23"></a> </span><span id="L-24"><a name="L-24"></a><span class="c1"># Check to see if you have any outstanding uncommitted local changes. If</span> </span><span id="L-25"><a name="L-25"></a><span class="c1"># there are some changes then execute the commit (commented out below).</span> </span><span id="L-26"><a name="L-26"></a>svn status </span><span id="L-27"><a name="L-27"></a><span class="c1">#svn commit -m &quot;latest changes prior to drupal core update&quot;</span> </span><span id="L-28"><a name="L-28"></a> </span><span id="L-29"><a name="L-29"></a><span class="c1"># Apply the patch. The patch from svn diff command should be in </span> </span><span id="L-30"><a name="L-30"></a><span class="c1"># unified diff format (-u) and the paths should be taken as they are so </span> </span><span id="L-31"><a name="L-31"></a><span class="c1"># files in subfolders are matched (-p0).</span> </span><span id="L-32"><a name="L-32"></a>patch -p0 -u &lt;d6-14.patch </span><span id="L-33"><a name="L-33"></a> </span><span id="L-34"><a name="L-34"></a> </span><span id="L-35"><a name="L-35"></a><span class="c1">#dont forget to commit the updates...</span> </span><span id="L-36"><a name="L-36"></a>svn commit -m <span class="s2">&quot;updated core drupal&quot;</span> </span><span id="L-37"><a name="L-37"></a> </span><span id="L-38"><a name="L-38"></a><span class="c1">#optionally, tag the updated code in the repository</span> </span></pre></div> </td></tr></table>
bash, development, drupal, perl, svn