Mercurial > hg > LGDataverses
comparison DVN-web/installer/dvninstall/doc/guides/_sources/dataverse-developer-main.txt @ 6:1b2188262ae9
adding the installer.
author | "jurzua <jurzua@mpiwg-berlin.mpg.de>" |
---|---|
date | Wed, 13 May 2015 11:50:21 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
5:dd9adfc73390 | 6:1b2188262ae9 |
---|---|
1 ==================================== | |
2 DVN Developers Guide | |
3 ==================================== | |
4 | |
5 Please note: This guide was updated in October 2013 to reflex the switch | |
6 from Ant to Maven in DVN 3.6.1. | |
7 | |
8 Build Environment (Configuring NetBeans) | |
9 ++++++++++++++++++++++++++++++++++++++++ | |
10 | |
11 This chapter describes setting up the build environment that you will | |
12 need to build the DVN application from source code. | |
13 | |
14 Install NetBeans and GlassFish | |
15 ============================== | |
16 | |
17 As of DVN version 3.6.1 and the switch to Maven, a DVN development | |
18 environment should not have any dependency on a particular IDE, but use | |
19 of NetBeans 7.2.1 is encouraged because it's the version used by most of | |
20 the current developers (on Mac OS X). | |
21 | |
22 The NetBeans project is currently offering an installer bundle that | |
23 contains both NetBeans 7.2.1 and a supported version of GlassFish | |
24 (3.1.2.2). If they choose to discontinue the bundle, you will have to | |
25 download and install the two packages separately. Note that you can have | |
26 multiple versions of both NetBeans and GlassFish on your system. | |
27 | |
28 Please note: While we intend to investigate NetBeans 7.4 and GlassFish | |
29 4, these are not yet known to provide a suitable development | |
30 environment. | |
31 | |
32 We strongly recommend that you run both installs **as a regular user**. There's no reason to run your development environment as root. | |
33 | |
34 Install NetBeans bundle | |
35 ----------------------- | |
36 | |
37 Download NetBeans 7.2.1 Java EE + GlassFish Open Source Edition 3.1.2.2 | |
38 bundle from https://netbeans.org/downloads/7.2.1 | |
39 | |
40 For Mac OS X, you will download a .dmg disk image that will open | |
41 automatically and start the installer for you. Choose the typical | |
42 installation but be sure to install GlassFish and JUnit when prompted. | |
43 | |
44 Note that you don't have to uninstall your existing NetBeans version. | |
45 You can have as many versions installed as you need in parallel. | |
46 | |
47 When you start NetBeans 7.2.1 for the first time, you will be asked if | |
48 you want to import the settings from the previous installations. If you | |
49 have an existing, pre-DVN 3.\* development environment on your system, | |
50 **answer "no" -- we want to create the new configuration from scratch.** | |
51 | |
52 [If you have to] Install GlassFish 3.1.2.2 | |
53 ------------------------------------------ | |
54 | |
55 We **strongly** recommend that you install GlassFish Server 3.1.2.2, | |
56 Open Source Edition, **Full Platform**. If you have to install it | |
57 separately from NetBeans, it can be obtained from | |
58 http://glassfish.java.net/downloads/3.1.2.2-final.html | |
59 | |
60 The page above contains a link to the installation instructions, but the | |
61 process is very straightforward - just download and run the installer. | |
62 | |
63 It is strongly recommended that you use Sun/Oracle Java JDK version 1.6. | |
64 Please make sure you have the newest (or at least, recent) build number | |
65 available for your platform. (On Mac OS X 10.8, since the JDK can be | |
66 installed as part of OS distribution, the version currently provided by | |
67 Apple should be sufficient). In other words, we do not recommend | |
68 building DVN under JDK 1.7 until the ticket regarding the move from Java | |
69 6 to 7 has been closed: https://redmine.hmdc.harvard.edu/issues/3306 | |
70 | |
71 Note that you don't have to uninstall older versions of GlassFish you | |
72 may still have around. It's ok to have multiple versions installed. But | |
73 make sure you have the 3.1.2.2 installation selected as the active | |
74 server in NetBeans. | |
75 | |
76 **Important:** During the installation, leave the admin password fields | |
77 blank. This is not a security risk since out of the box, GlassFish | |
78 3.1.2.2 will only be accepting admin connections on the localhost | |
79 interface. Choosing a password at this stage, however, will complicate | |
80 the installation process unnecessarily. Since this is a development | |
81 system, you can probably keep this configuration unchanged (admin on | |
82 localhost only). If you need to be able to connect to the admin console | |
83 remotely, please see the note in the Appendix section of the main | |
84 Installers Guide. | |
85 | |
86 Install JUnit (if you haven't already) | |
87 -------------------------------------- | |
88 | |
89 Depending on how you installed NetBeans, you might already have JUnit | |
90 installed. JUnit can be installed from Tools -> Plugins. | |
91 | |
92 Check out a new copy of the DVN source tree | |
93 =========================================== | |
94 | |
95 Create a GitHub account [if you don't have one already] | |
96 ------------------------------------------------------- | |
97 | |
98 Sign up at https://github.com | |
99 | |
100 Please note that primary audience of this guide (for now) is people who | |
101 have push access to https://github.com/IQSS/dvn . If you do not have | |
102 push access and want to contribute (and we hope you do!) please fork the | |
103 repo per https://help.github.com/articles/fork-a-repo and make | |
104 adjustments below when cloning the repo. | |
105 | |
106 Set up an ssh keypair (if you haven't already) | |
107 ----------------------------------------------------- | |
108 | |
109 You *can* use git with passwords over HTTPS but it's much nicer to set | |
110 up SSH keys. | |
111 | |
112 https://github.com/settings/ssh is the place to manage the ssh keys | |
113 GitHub knows about for you. That page also links to a nice howto: | |
114 https://help.github.com/articles/generating-ssh-keys | |
115 | |
116 From the terminal, ``ssh-keygen`` will create new ssh keys for you: | |
117 | |
118 - private key: ``~/.ssh/id_rsa`` | |
119 | |
120 - It is **very important to protect your private key**. If someone | |
121 else acquires it, they can access private repositories on GitHub | |
122 and make commits as you! Ideally, you'll store your ssh keys on an | |
123 encrypted volume and protect your private key with a password when | |
124 prompted for one by ``ssh-keygen``. See also "Why do passphrases | |
125 matter" at https://help.github.com/articles/generating-ssh-keys | |
126 | |
127 - public key: ``~/.ssh/id_rsa.pub`` | |
128 | |
129 After you've created your ssh keys, add the public key to your GitHub | |
130 account. | |
131 | |
132 Clone the repo | |
133 -------------- | |
134 | |
135 Please see `branches <#branches>`__ for detail, but in short, the | |
136 "develop" branch is where new commits go. Below we will assume you want | |
137 to make commits to "develop". | |
138 | |
139 In NetBeans, click Team, then Git, then Clone. | |
140 | |
141 Remote Repository | |
142 ***************** | |
143 | |
144 - Repository URL: ``github.com:IQSS/dvn.git`` | |
145 - Username: ``git`` | |
146 - Private/Public Key | |
147 | |
148 - Private Key File: ``/Users/[YOUR_USERNAME]/.ssh/id_rsa`` | |
149 | |
150 - Passphrase: (the passphrase you chose while running ``ssh-keygen``) | |
151 | |
152 Click Next. | |
153 | |
154 If you are prompted about the authenticity of github.com's RSA key fingerprint, answer "Yes" to continue connecting. GitHub's RSA key fingerprint is listed at https://help.github.com/articles/generating-ssh-keys | |
155 | |
156 Remote Branches | |
157 *************** | |
158 | |
159 Under Select Remote Branches check the "develop" branch. | |
160 | |
161 Please note: You may see other branches listed, such as "master", but | |
162 there is no need to check them out at this time. | |
163 | |
164 Click Next. | |
165 | |
166 Destination Directory | |
167 ********************* | |
168 | |
169 The defaults should be fine: | |
170 | |
171 - Parent Directory: ``/Users/[YOUR_USERNAME]/NetBeansProjects`` | |
172 - Clone Name: ``dvn`` | |
173 - Checkout Branch: ``develop*`` | |
174 - Remote Name: ``origin`` | |
175 | |
176 Click Finish. | |
177 | |
178 You should see a message that 3 projects were cloned. Click "Open | |
179 Project". | |
180 | |
181 Open Projects | |
182 ============= | |
183 | |
184 In the "Open Projects" dialog you should see three projects, DVN-lockss, | |
185 DVN-root, and DVN-web (a child of DVN-root). | |
186 | |
187 Highlight DVN-root and check "Open Required" (to include DVN-web) and click "Open". | |
188 | |
189 At this point, you should have two (and only two) projects open in | |
190 NetBeans: DVN-root and DVN-web. If you hover over the projects, it's | |
191 normal at this point to see warnings such as "Some dependency artifacts | |
192 are not in the local repository" or "Cannot find application server: | |
193 GlassFish Server 3+". We'll correct these next. | |
194 | |
195 Build for the first time | |
196 ======================== | |
197 | |
198 In NetBeans, right-click DVN-root and click "Build". This will download | |
199 many dependencies via Maven and may take several minutes. | |
200 | |
201 When this process has completed, right-click DVN-web and click "Build". | |
202 You should expect to see "BUILD SUCCESS". This means you have | |
203 successfully built the .war application package, but do not attempt to | |
204 deploy the application just yet! We need to configure the server | |
205 environment first, which consists of GlassFish and PostgreSQL | |
206 | |
207 Application Environment (Configuring GlassFish and PostgreSQL) | |
208 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | |
209 | |
210 In this chapter, we describe the process of setting up your own local | |
211 application environment into which you will deploy the DVN application. | |
212 | |
213 Install PostgreSQL database server | |
214 ================================== | |
215 | |
216 For Mac OS X (our default development OS), you can get the installer | |
217 from http://www.postgresql.org/download/macosx | |
218 | |
219 The installation is very straightforward; just make sure you answer | |
220 "yes" when asked if Postgres should be accepting network connections. | |
221 (The application will be accessing the database at the "localhost" | |
222 address). | |
223 | |
224 Once installed, we recommend that you also allow connections | |
225 over local Unix sockets. This way the installer won't have to ask you | |
226 for the Postgres password every time it needs to talk to the database. | |
227 To do so, modify the "local all all" line in the data/pg\_hba.conf file | |
228 to look like this: | |
229 | |
230 | local all all trust | |
231 | |
232 **Note** that this only opens Postgres to the local socket connections, | |
233 and should not be considered a security risk. But if you are extra | |
234 cautious, you may use instead: | |
235 | |
236 | local all all ident sameuser | |
237 | |
238 Restart Postgres for the changes to take effect! | |
239 | |
240 Please note: if you have any problems with the PostgreSQL setup, please | |
241 ensure the right ``psql`` is in your ``$PATH``. | |
242 | |
243 You can check the instructions in the main Installers Guide for more info: | |
244 :ref:`PostgreSQL section<postgresql>`; | |
245 but the above should be sufficient to get your environment set up. | |
246 | |
247 Run the install-dev script | |
248 ========================== | |
249 | |
250 The installer is supplied with the DVN source in the tools directory. | |
251 You must run it as root (for direct access to Postgres). | |
252 | |
253 | To run the script: | |
254 | ``sudo su -`` | |
255 | ``cd /Users/[YOUR_USERNAME]/NetBeansProjects/dvn/tools/installer/dvninstall`` | |
256 | |
257 | then execute | |
258 | ``./install-dev`` | |
259 | |
260 When prompted for various settings, you will likely be able to accept | |
261 all the default values (in a development environment, they are for the | |
262 most part the same for everybody). | |
263 | |
264 Testing login | |
265 ============= | |
266 | |
267 Once the ``install-dev`` script has completed successfully, you will | |
268 have a fully functional Dataverse Network server. After making sure | |
269 GlassFish has been started per the output of the script, you should be | |
270 able to log in DVN with these credentials: | |
271 | |
272 - http://localhost:8080/dvn/ | |
273 - username: networkAdmin | |
274 - password: networkAdmin | |
275 | |
276 Please note that when deploying from NetBeans for the first time, you | |
277 will be prompted to select a deployment server. From the drop down, | |
278 select "GlassFish Server 3.1.2", click "Remember in Current IDE Session" | |
279 and click "OK". | |
280 | |
281 Developing with Git | |
282 ++++++++++++++++ | |
283 | |
284 | |
285 .. _commit: | |
286 | |
287 Commit | |
288 ================== | |
289 | |
290 **Committing Changes** | |
291 | |
292 By following the instructions in the :ref:`build <build>` step, you | |
293 should be in the "develop" branch, which is where we want to make | |
294 commits as we work toward the next release. | |
295 | |
296 You can verify which branch you are on by clicking Team then "Repository | |
297 Browser". | |
298 | |
299 You should see ``dvn [develop]`` at the root of the tree and **develop** | |
300 in bold under Branches -> Local | |
301 | |
302 Click Team, then "Show Changes". Select the desired files and | |
303 right-click to commit. | |
304 | |
305 To publish your changes on GitHub, you'll need to follow the next step: | |
306 :ref:`push <push>`. | |
307 | |
308 .. _push: | |
309 | |
310 Push | |
311 =========== | |
312 | |
313 **Pushing your commits to GitHub** | |
314 | |
315 After making your :ref:`commit <commit>`, push it to GitHub by clicking | |
316 Team -> Remote -> Push, then Next (to use your configured remote | |
317 repository), then checking **develop** and Finish. | |
318 | |
319 Your commit should now appear on GitHub in the develop branch: | |
320 https://github.com/IQSS/dvn/commits/develop | |
321 | |
322 Your commit should **not** appear in the master branch on GitHub: | |
323 https://github.com/IQSS/dvn/commits/master . Not yet anyway. We only | |
324 merge commits into master when we are ready to release. Please see the | |
325 `branches <#branches>`__ section for for detail. | |
326 | |
327 | |
328 Release | |
329 ============ | |
330 | |
331 Merge develop into master | |
332 -------------------------------------- | |
333 | |
334 Tag the release | |
335 *************************** | |
336 | |
337 Here is an example of how the 3.4 tag ( | |
338 `https://github.com/IQSS/dvn/tree/3.4 <https://github.com/IQSS/dvn/tree/3.4>`__) was created and pushed to GitHub: | |
339 | |
340 .. code-block:: guess | |
341 | |
342 murphy:dvn pdurbin$ git branch | |
343 * develop | |
344 master | |
345 murphy:dvn pdurbin$ git pull | |
346 Already up-to-date. | |
347 murphy:dvn pdurbin$ git checkout master | |
348 Switched to branch 'master' | |
349 murphy:dvn pdurbin$ git merge develop | |
350 Updating fdbfe57..6ceb24f | |
351 (snip) | |
352 create mode 100644 tools/installer/dvninstall/readme.md | |
353 murphy:dvn pdurbin$ git tag | |
354 3.3 | |
355 murphy:dvn pdurbin$ git tag -a 3.4 -m 'merged develop, tagging master as 3.4' | |
356 murphy:dvn pdurbin$ git tag | |
357 3.3 | |
358 3.4 | |
359 murphy:dvn pdurbin$ git push origin 3.4 | |
360 Counting objects: 1, done. | |
361 Writing objects: 100% (1/1), 182 bytes, done. | |
362 Total 1 (delta 0), reused 0 (delta 0) | |
363 To git@github.com:IQSS/dvn.git | |
364 * [new tag] 3.4 -> 3.4 | |
365 murphy:dvn pdurbin$ | |
366 murphy:dvn pdurbin$ git push origin master | |
367 Total 0 (delta 0), reused 0 (delta 0) | |
368 To git@github.com:IQSS/dvn.git | |
369 fdbfe57..6ceb24f master -> master | |
370 murphy:dvn pdurbin$ | |
371 | |
372 Make release available for download | |
373 ****************************************************** | |
374 | |
375 On dvn-build: | |
376 | |
377 .. code-block:: guess | |
378 | |
379 cd tools/installer | |
380 make installer | |
381 | |
382 Rename the resulting "dvninstall.zip" to include the release number | |
383 (i.e. "dvninstall\_v3\_4.zip") and upload it, the separate war file, a | |
384 readme, and a buildupdate script (all these files should include the | |
385 release number) to SourceForge (i.e. | |
386 `http://sourceforge.net/projects/dvn/files/dvn/3.4/ <http://sourceforge.net/projects/dvn/files/dvn/3.4/>`__). | |
387 | |
388 Increment the version number | |
389 ******************************************************* | |
390 | |
391 The file to edit is: | |
392 | |
393 | `https://github.com/IQSS/dvn/blob/develop/src/DVN-web/src/VersionNumber.properties <https://github.com/IQSS/dvn/blob/develop/src/DVN-web/sr/VersionNumber.properties>`__ | |
394 | |
395 Branches | |
396 =========== | |
397 | |
398 Current list of branches | |
399 ------------------------------------- | |
400 | |
401 `https://github.com/IQSS/dvn/branches <https://github.com/IQSS/dvn/branches>`__ | |
402 | |
403 New branching model: develop vs. master | |
404 ------------------------------------------------- | |
405 | |
406 Please note that with the move to git, we are adopting the branching | |
407 model described at | |
408 `http://nvie.com/posts/a-successful-git-branching-model/ <http://nvie.com/posts/a-successful-git-branching-model/>`__ | |
409 | |
410 In this branching model there are two persistent branches: | |
411 | |
412 - develop: where all new commits go | |
413 - master: where code gets merged and tagged as a release | |
414 | |
415 That is to say, **please make your commits on the develop branch, not | |
416 the master branch**. | |
417 | |
418 Feature branches | |
419 ------------------------ | |
420 | |
421 "The essence of a feature branch is that it exists as long as the | |
422 feature is in development, but will eventually be merged back into | |
423 develop (to definitely add the new feature to the upcoming release) | |
424 or discarded (in case of a disappointing experiment)." -- | |
425 `http://nvie.com/posts/a-successful-git-branching-model/ <http://nvie.com/posts/a-successful-git-branching-model/>`__ | |
426 | |
427 Example feature branch: 2656-lucene | |
428 --------------------------------------------------- | |
429 | |
430 First, we create the branch and check it out: | |
431 | |
432 :: | |
433 | |
434 murphy:dvn pdurbin$ git branch | |
435 2656-solr | |
436 * develop | |
437 murphy:dvn pdurbin$ git branch 2656-lucene | |
438 murphy:dvn pdurbin$ | |
439 murphy:dvn pdurbin$ git branch | |
440 2656-lucene | |
441 2656-solr | |
442 * develop | |
443 murphy:dvn pdurbin$ git checkout 2656-lucene | |
444 Switched to branch '2656-lucene' | |
445 murphy:dvn pdurbin$ | |
446 murphy:dvn pdurbin$ git status | |
447 # On branch 2656-lucene | |
448 nothing to commit (working directory clean) | |
449 murphy:dvn pdurbin$ | |
450 | |
451 | Then, we make a change and a commit, and push it to: | |
452 | |
453 | `https://github.com/iqss/dvn/tree/2656-lucene <https://github.com/iqss/dvn/tree/2656-lucene>`__ (creating a new remote branch): | |
454 | |
455 | |
456 :: | |
457 | |
458 murphy:dvn pdurbin$ vim src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/Indexer.java | |
459 murphy:dvn pdurbin$ | |
460 murphy:dvn pdurbin$ git commit -m 'start lucene faceting branch' src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/Indexer.java | |
461 [2656-lucene 3b82f88] start lucene faceting branch | |
462 1 file changed, 73 insertions(+), 2 deletions(-) | |
463 murphy:dvn pdurbin$ | |
464 murphy:dvn pdurbin$ git push origin 2656-lucene | |
465 Counting objects: 25, done. | |
466 Delta compression using up to 8 threads. | |
467 Compressing objects: 100% (10/10), done. | |
468 Writing objects: 100% (13/13), 2.23 KiB, done. | |
469 Total 13 (delta 6), reused 0 (delta 0) | |
470 To git@github.com:IQSS/dvn.git | |
471 * [new branch] 2656-lucene -> 2656-lucene | |
472 murphy:dvn pdurbin$ | |
473 | |
474 | | |
475 | |
476 As we work on the feature branch, we merge the latest changes from | |
477 "develop". We want to resolve conflicts in the feature branch itself so | |
478 that the feature branch will merge cleanly into "develop" when we're | |
479 ready. In the example below, we use ``git mergetool`` and ``opendiff`` | |
480 to resolve conflicts and save the merge. Then we push the newly-merged | |
481 2656-lucene feature branch to GitHub: | |
482 | |
483 | | |
484 | |
485 :: | |
486 | |
487 murphy:dvn pdurbin$ git branch | |
488 * 2656-lucene | |
489 2656-solr | |
490 develop | |
491 murphy:dvn pdurbin$ git checkout develop | |
492 murphy:dvn pdurbin$ git branch | |
493 2656-lucene | |
494 2656-solr | |
495 * develop | |
496 murphy:dvn pdurbin$ git pull | |
497 remote: Counting objects: 206, done. | |
498 remote: Compressing objects: 100% (43/43), done. | |
499 remote: Total 120 (delta 70), reused 96 (delta 46) | |
500 Receiving objects: 100% (120/120), 17.65 KiB, done. | |
501 Resolving deltas: 100% (70/70), completed with 40 local objects. | |
502 From github.com:IQSS/dvn | |
503 8fd223d..9967413 develop -> origin/develop | |
504 Updating 8fd223d..9967413 | |
505 Fast-forward | |
506 .../admin/EditNetworkPrivilegesServiceBean.java | 5 +- | |
507 (snip) | |
508 src/DVN-web/web/study/StudyFilesFragment.xhtml | 2 +- | |
509 12 files changed, 203 insertions(+), 118 deletions(-) | |
510 murphy:dvn pdurbin$ murphy:dvn pdurbin$ git pull | |
511 remote: Counting objects: 206, done. | |
512 remote: Compressing objects: 100% (43/43), done. | |
513 remote: Total 120 (delta 70), reused 96 (delta 46) | |
514 Receiving objects: 100% (120/120), 17.65 KiB, done. | |
515 Resolving deltas: 100% (70/70), completed with 40 local objects. | |
516 From github.com:IQSS/dvn | |
517 8fd223d..9967413 develop -> origin/develop | |
518 Updating 8fd223d..9967413 | |
519 Fast-forward | |
520 .../admin/EditNetworkPrivilegesServiceBean.java | 5 +- | |
521 (snip) | |
522 .../harvard/iq/dvn/core/web/study/StudyUI.java | 2 +- | |
523 src/DVN-web/web/HomePage.xhtml | 5 +- | |
524 murphy:dvn pdurbin$ | |
525 murphy:dvn pdurbin$ git checkout 2656-lucene | |
526 Switched to branch '2656-lucene' | |
527 murphy:dvn pdurbin$ | |
528 murphy:dvn pdurbin$ | |
529 murphy:dvn pdurbin$ git merge develop | |
530 Auto-merging src/DVN-web/web/BasicSearchFragment.xhtml | |
531 CONFLICT (content): Merge conflict in src/DVN-web/web/BasicSearchFragment.xhtml | |
532 Auto-merging src/DVN-web/src/edu/harvard/iq/dvn/core/web/BasicSearchFragment.java | |
533 Auto-merging src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/Indexer.java | |
534 Automatic merge failed; fix conflicts and then commit the result. | |
535 murphy:dvn pdurbin$ | |
536 murphy:dvn pdurbin$ git status | |
537 # On branch 2656-lucene | |
538 # Changes to be committed: | |
539 # | |
540 # modified: src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/admin/EditNetworkPrivilegesServiceBean.java | |
541 (snip) | |
542 # new file: src/DVN-web/web/admin/ChooseDataverseForCreateStudy.xhtml | |
543 # modified: src/DVN-web/web/study/StudyFilesFragment.xhtml | |
544 # | |
545 # Unmerged paths: | |
546 # (use "git add/rm <file>..." as appropriate to mark resolution) | |
547 # | |
548 # both modified: src/DVN-web/web/BasicSearchFragment.xhtml | |
549 # | |
550 murphy:dvn pdurbin$ git mergetool | |
551 merge tool candidates: opendiff kdiff3 tkdiff xxdiff meld tortoisemerge gvimdiff diffuse ecmerge p4merge araxis bc3 emerge vimdiff | |
552 Merging: | |
553 src/DVN-web/web/BasicSearchFragment.xhtml | |
554 | |
555 Normal merge conflict for 'src/DVN-web/web/BasicSearchFragment.xhtml': | |
556 {local}: modified file | |
557 {remote}: modified file | |
558 Hit return to start merge resolution tool (opendiff): | |
559 murphy:dvn pdurbin$ | |
560 murphy:dvn pdurbin$ git add . | |
561 murphy:dvn pdurbin$ | |
562 murphy:dvn pdurbin$ git commit -m "Merge branch 'develop' into 2656-lucene" | |
563 [2656-lucene 519cd8c] Merge branch 'develop' into 2656-lucene | |
564 murphy:dvn pdurbin$ | |
565 murphy:dvn pdurbin$ git push origin 2656-lucene | |
566 (snip) | |
567 murphy:dvn pdurbin$ | |
568 | |
569 | |
570 | When we are ready to merge the feature branch back into the develop branch, we can do so. | |
571 | |
572 | Here's an example of merging the 2656-lucene branch back into develop: | |
573 | |
574 :: | |
575 | |
576 murphy:dvn pdurbin$ git checkout 2656-lucene | |
577 Switched to branch '2656-lucene' | |
578 murphy:dvn pdurbin$ git pull | |
579 Already up-to-date. | |
580 murphy:dvn pdurbin$ git checkout develop | |
581 Switched to branch 'develop' | |
582 murphy:dvn pdurbin$ git pull | |
583 Already up-to-date. | |
584 murphy:dvn pdurbin$ git merge 2656-lucene | |
585 Removing lib/dvn-lib-EJB/lucene-core-3.0.0.jar | |
586 Merge made by the 'recursive' strategy. | |
587 lib/dvn-lib-EJB/lucene-core-3.0.0.jar | Bin 1021623 -> 0 bytes | |
588 lib/dvn-lib-EJB/lucene-core-3.5.0.jar | Bin 0 -> 1466301 bytes | |
589 lib/dvn-lib-EJB/lucene-facet-3.5.0.jar | Bin 0 -> 293582 bytes | |
590 src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/DvnQuery.java | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | |
591 src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/IndexServiceBean.java | 56 ++++++++++++++++++++ | |
592 src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/IndexServiceLocal.java | 16 +++++- | |
593 src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/Indexer.java | 432 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- | |
594 src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/ResultsWithFacets.java | 71 +++++++++++++++++++++++++ | |
595 src/DVN-web/src/SearchFieldBundle.properties | 4 +- | |
596 src/DVN-web/src/edu/harvard/iq/dvn/core/web/AdvSearchPage.java | 86 +++++++++++++++++++++++++++++++ | |
597 src/DVN-web/src/edu/harvard/iq/dvn/core/web/BasicSearchFragment.java | 102 +++++++++++++++++++++++++++++++++++- | |
598 src/DVN-web/src/edu/harvard/iq/dvn/core/web/StudyListing.java | 11 ++++ | |
599 src/DVN-web/src/edu/harvard/iq/dvn/core/web/StudyListingPage.java | 428 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- | |
600 src/DVN-web/src/edu/harvard/iq/dvn/core/web/study/FacetResultUI.java | 42 +++++++++++++++ | |
601 src/DVN-web/src/edu/harvard/iq/dvn/core/web/study/FacetUI.java | 62 ++++++++++++++++++++++ | |
602 src/DVN-web/web/AdvSearchPage.xhtml | 3 +- | |
603 src/DVN-web/web/BasicSearchFragment.xhtml | 9 ++-- | |
604 src/DVN-web/web/StudyListingPage.xhtml | 43 +++++++++++----- | |
605 18 files changed, 1500 insertions(+), 25 deletions(-) | |
606 delete mode 100644 lib/dvn-lib-EJB/lucene-core-3.0.0.jar | |
607 create mode 100644 lib/dvn-lib-EJB/lucene-core-3.5.0.jar | |
608 create mode 100644 lib/dvn-lib-EJB/lucene-facet-3.5.0.jar | |
609 create mode 100644 src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/DvnQuery.java | |
610 create mode 100644 src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/ResultsWithFacets.java | |
611 create mode 100644 src/DVN-web/src/edu/harvard/iq/dvn/core/web/study/FacetResultUI.java | |
612 create mode 100644 src/DVN-web/src/edu/harvard/iq/dvn/core/web/study/FacetUI.java | |
613 murphy:dvn pdurbin$ | |
614 murphy:dvn pdurbin$ git status | |
615 # On branch develop | |
616 # Your branch is ahead of 'origin/develop' by 68 commits. | |
617 # | |
618 nothing to commit (working directory clean) | |
619 murphy:dvn pdurbin$ | |
620 murphy:dvn pdurbin$ git push | |
621 Counting objects: 51, done. | |
622 Delta compression using up to 8 threads. | |
623 Compressing objects: 100% (12/12), done. | |
624 Writing objects: 100% (19/19), 1.41 KiB, done. | |
625 Total 19 (delta 7), reused 0 (delta 0) | |
626 To git@github.com:IQSS/dvn.git | |
627 b7fae01..2b88b68 develop -> develop | |
628 murphy:dvn pdurbin$ | |
629 | |
630 Switching to the master branch to merge commits from the develop branch | |
631 ------------------------------------------------------------------------------------------------------- | |
632 | |
633 We should really only need to switch from the develop branch to the | |
634 master branch as we prepare for a release. | |
635 | |
636 First, we check out the master branch by clicking Team -> Git -> Branch | |
637 -> Switch to Branch. | |
638 | |
639 Change Branch to "origin/master" and check the box for "Checkout as New | |
640 Branch" and fill in "master" as the "Branch Name" to match the name of | |
641 the branch we're switching to. Then click "Switch". | |
642 | |
643 Now, in the Git Repository Browser (from Team -> Repository Browser) the | |
644 root of the tree should say ``dvn [master]`` and you should see two | |
645 branches under Branches -> Local. **master** should be in bold and | |
646 develop should not. | |
647 | |
648 Tips | |
649 ========= | |
650 | |
651 Previewing changes before a pull | |
652 -------------------------------- | |
653 | |
654 If the build fails overnight you may want to hold off on doing a pull | |
655 until the problem is resolved. To preview what has changed since your | |
656 last pull, you can do a ``git fetch`` (the first part of a pull) then | |
657 ``git log HEAD..origin/develop`` to see the commit messages. | |
658 ``git log -p`` or ``git diff`` will allow you to see the contents of the | |
659 changes: | |
660 | |
661 :: | |
662 | |
663 git checkout develop | |
664 git fetch | |
665 git log HEAD..origin/develop | |
666 git log -p HEAD..origin/develop | |
667 git diff HEAD..origin/develop | |
668 | |
669 After the build is working again, you can simply do a pull as normal. | |
670 | |
671 Errors | |
672 =========== | |
673 | |
674 Duplicate class | |
675 --------------- | |
676 | |
677 The error "duplicate class" can result whenever you resolve a merge | |
678 conflict in git. | |
679 | |
680 The fix is to close NetBeans and delete (or move aside) the cache like | |
681 this: | |
682 | |
683 :: | |
684 | |
685 cd ~/Library/Caches/NetBeans | |
686 mv 7.2.1 7.2.1.moved | |
687 | |
688 According to https://netbeans.org/bugzilla/show_bug.cgi?id=197983 this might be fixed in NetBeans 7.3. |