-
Notifications
You must be signed in to change notification settings - Fork 48
/
414.srt
3627 lines (2670 loc) · 79.7 KB
/
414.srt
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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:181083,LOCAL:00:00:00.000
00:00:00.506 --> 00:00:09.516 A:middle
[ Silence ]
00:00:10.016 --> 00:00:13.000 A:middle
[ Applause ]
00:00:13.816 --> 00:00:14.756 A:middle
>> Kevin Lindeman:
Good morning everyone.
00:00:14.996 --> 00:00:17.046 A:middle
Welcome to understanding
Source Control in Xcode.
00:00:17.476 --> 00:00:19.696 A:middle
My name's Kevin Lindeman, I'm
an Xcode Software Engineer.
00:00:20.366 --> 00:00:26.176 A:middle
So first off we have so
much new stuff in Xcode 5
00:00:26.446 --> 00:00:28.876 A:middle
that we want you to take a look
at our session from last year,
00:00:29.096 --> 00:00:32.016 A:middle
Source Control Management in
Xcode, to learn about some
00:00:32.016 --> 00:00:35.246 A:middle
of the more basic integration
of Source Control in Xcode.
00:00:35.866 --> 00:00:37.436 A:middle
It's all the same in Xcode 5.
00:00:37.956 --> 00:00:39.746 A:middle
And that session in conjunction
00:00:39.746 --> 00:00:43.206 A:middle
with this year's session will
give you the full picture of how
00:00:43.206 --> 00:00:45.016 A:middle
to use Source Control in Xcode.
00:00:45.606 --> 00:00:49.146 A:middle
So I'm going to start
off talking
00:00:49.146 --> 00:00:51.396 A:middle
about the three C's
in Source Control.
00:00:52.496 --> 00:00:54.456 A:middle
The first one is Confidence.
00:00:54.796 --> 00:00:57.726 A:middle
Using Source Control in Xcode
gives you the confidence
00:00:57.726 --> 00:00:59.506 A:middle
that you're committing
the right code.
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:181083,LOCAL:00:00:00.000
00:01:00.396 --> 00:01:01.766 A:middle
It also gives you the confidence
00:01:01.766 --> 00:01:03.066 A:middle
that when you're
using branching,
00:01:03.286 --> 00:01:05.166 A:middle
you're committing
to the right branch.
00:01:06.616 --> 00:01:08.606 A:middle
Now using Source
Control also allows you
00:01:08.606 --> 00:01:11.556 A:middle
to commit your changes
in smaller chunks
00:01:11.786 --> 00:01:15.116 A:middle
so that you can go back in
history using the version editor
00:01:15.116 --> 00:01:18.546 A:middle
or blame and see exactly
why a change happened,
00:01:18.866 --> 00:01:23.656 A:middle
when it happened and by who
and maybe go back and run
00:01:23.656 --> 00:01:27.076 A:middle
that version of the code instead
to try to find regressions.
00:01:27.636 --> 00:01:32.646 A:middle
It also helps with
compartmentalization.
00:01:33.416 --> 00:01:36.306 A:middle
Xcode has excellent
branch management
00:01:36.506 --> 00:01:39.496 A:middle
so when you're working on a
potentially large feature,
00:01:39.856 --> 00:01:44.656 A:middle
you can branch off of your main
code and iterate on that branch
00:01:44.846 --> 00:01:49.906 A:middle
over time until you're ready
to make that your main branch
00:01:49.906 --> 00:01:52.936 A:middle
and merge all of that
code into your main line.
00:01:57.076 --> 00:01:59.456 A:middle
The third C is Collaboration.
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:181083,LOCAL:00:00:00.000
00:02:00.086 --> 00:02:02.906 A:middle
Now especially with our
integration with OS X server,
00:02:03.706 --> 00:02:06.296 A:middle
Source Control becomes
an easy two-way street
00:02:06.296 --> 00:02:09.476 A:middle
of pushing changes back and
forth to your coworkers so that
00:02:09.476 --> 00:02:12.366 A:middle
when you make a change you
can give those changes easily
00:02:12.366 --> 00:02:15.856 A:middle
to your coworkers so that you're
all always building the latest
00:02:15.986 --> 00:02:17.516 A:middle
stuff in your project.
00:02:21.036 --> 00:02:24.646 A:middle
So we've added a lot to
Source Control in Xcode 5.
00:02:25.656 --> 00:02:28.636 A:middle
And the first thing is we're now
shipping the latest Subversion
00:02:28.636 --> 00:02:33.166 A:middle
client, Subversion 1.7.
00:02:33.246 --> 00:02:36.226 A:middle
We also have a much
improved checkout workflow
00:02:36.466 --> 00:02:37.716 A:middle
that I think you'll really love.
00:02:38.366 --> 00:02:43.506 A:middle
We've also got brand new
workspace centric workflows
00:02:43.756 --> 00:02:46.656 A:middle
so there's no more running back
and forth between the workspace
00:02:47.076 --> 00:02:48.446 A:middle
and the repository organizer.
00:02:49.016 --> 00:02:53.776 A:middle
We also have deep integration
with the Xcode service
00:02:53.776 --> 00:02:58.036 A:middle
on OS X server making really
easy so that when you start off
00:02:58.036 --> 00:03:01.036 A:middle
with a new project, putting
that project under Git
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:181083,LOCAL:00:00:00.000
00:02:58.036 --> 00:03:01.036 A:middle
with a new project, putting
that project under Git
00:03:01.036 --> 00:03:05.086 A:middle
and automatically pushing that
project to your OS X server.
00:03:07.556 --> 00:03:11.186 A:middle
We also have greater
customization using a new Source
00:03:11.186 --> 00:03:13.146 A:middle
Control preference
pane allowing you
00:03:13.146 --> 00:03:14.866 A:middle
to make Source Control
work with you.
00:03:14.866 --> 00:03:19.676 A:middle
So let's talk about
Subversion 1.7.
00:03:20.376 --> 00:03:23.756 A:middle
One of the key differences
compared to Subversion 1.6
00:03:23.756 --> 00:03:27.336 A:middle
which we shipped in Xcode 4,
is that when you have a project
00:03:27.496 --> 00:03:30.586 A:middle
like you see here
every folder inside
00:03:30.586 --> 00:03:33.906 A:middle
of that project has
a .svn folder in it.
00:03:34.026 --> 00:03:36.136 A:middle
Now if you're looking at that
project in Terminal or something
00:03:36.136 --> 00:03:39.026 A:middle
that really clutters up
your folder structure.
00:03:40.276 --> 00:03:43.776 A:middle
Subversion 1.7 when you
upgrade to it, it takes all
00:03:43.856 --> 00:03:50.126 A:middle
of the .svn folders lower down
your file system and puts them
00:03:50.126 --> 00:03:53.446 A:middle
up into the top level .svn
folder for your project.
00:03:54.296 --> 00:03:56.236 A:middle
This makes it much more
similar to how a Git works.
00:03:56.886 --> 00:04:01.126 A:middle
Now the first time
you open a project
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:181083,LOCAL:00:00:00.000
00:03:56.886 --> 00:04:01.126 A:middle
Now the first time
you open a project
00:04:01.126 --> 00:04:03.416 A:middle
in Xcode 5 you'll
see this dialogue.
00:04:04.196 --> 00:04:07.616 A:middle
It's asking you to upgrade
your project to Subversion 1.7.
00:04:07.616 --> 00:04:11.126 A:middle
Now this will be handled
entirely by Xcode,
00:04:11.126 --> 00:04:12.306 A:middle
you don't have to do anything.
00:04:12.646 --> 00:04:14.906 A:middle
It's also entirely client side.
00:04:15.166 --> 00:04:17.565 A:middle
It doesn't change
anything on your server.
00:04:17.976 --> 00:04:20.536 A:middle
And each individual
team member can opt
00:04:20.536 --> 00:04:23.026 A:middle
into upgrading to
Subversion 1.7.
00:04:23.816 --> 00:04:25.476 A:middle
Now this is an important
distinction
00:04:25.726 --> 00:04:29.426 A:middle
because Xcode 4 only
supports Subversion 1.6.
00:04:29.756 --> 00:04:31.226 A:middle
So when you're going back
00:04:31.226 --> 00:04:34.046 A:middle
and forth during the
developer previews of Xcode 5,
00:04:34.666 --> 00:04:38.546 A:middle
you'll need to be using
Subversion 1.6 if you want
00:04:38.546 --> 00:04:40.106 A:middle
to use Source Control
in Xcode 4.
00:04:41.036 --> 00:04:45.056 A:middle
But we really do urge you to try
to upgrade because there's a lot
00:04:45.056 --> 00:04:47.606 A:middle
of really great enhancements
in Xcode 5
00:04:47.746 --> 00:04:51.196 A:middle
when you use Subversion 1.7.
00:04:51.366 --> 00:04:53.376 A:middle
The first of those is
improved performance.
00:04:53.676 --> 00:04:58.796 A:middle
Operations such as SV
and up are a lot faster.
00:04:59.046 --> 00:05:01.616 A:middle
We've also added support for
blame for modified files.
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:181083,LOCAL:00:00:00.000
00:04:59.046 --> 00:05:01.616 A:middle
We've also added support for
blame for modified files.
00:05:01.996 --> 00:05:06.646 A:middle
I'm sure you've been working in
Xcode, modified a file, haven't
00:05:06.646 --> 00:05:08.506 A:middle
yet committed it yet
but then wondered,
00:05:08.506 --> 00:05:10.936 A:middle
well who changed this line
over there and noticed
00:05:10.936 --> 00:05:13.536 A:middle
that you couldn't look at
your locally modified version
00:05:13.536 --> 00:05:14.986 A:middle
of that file in blame.
00:05:15.396 --> 00:05:17.216 A:middle
Well now you can
with Subversion 1.7.
00:05:17.916 --> 00:05:21.996 A:middle
That also has always
worked with Git.
00:05:22.396 --> 00:05:25.376 A:middle
We also have this great new
feature called blame for line.
00:05:25.506 --> 00:05:27.386 A:middle
It's a shortcut in
the standard editor.
00:05:27.736 --> 00:05:29.686 A:middle
You don't even have to
go to the Version Editor
00:05:29.726 --> 00:05:32.996 A:middle
into the blame submode to see
blame for your whole file.
00:05:33.326 --> 00:05:36.446 A:middle
You can just say I'm curious
about what this line is,
00:05:36.596 --> 00:05:40.586 A:middle
right click it in Git and
a great popover a view
00:05:40.586 --> 00:05:43.886 A:middle
of who changed that line,
when it was changed, why,
00:05:44.256 --> 00:05:46.956 A:middle
with quick shortcuts for opening
it in the full blame editor
00:05:47.266 --> 00:05:48.586 A:middle
or into the comparison editor
00:05:48.586 --> 00:05:50.456 A:middle
so you can see all the
changes in that file.
00:05:51.046 --> 00:05:55.416 A:middle
It also highlights all of the
other lines in that source file
00:05:55.416 --> 00:05:58.286 A:middle
that were modified
with the same commit.
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:181083,LOCAL:00:00:00.000
00:06:01.076 --> 00:06:03.366 A:middle
And also the command
line integration.
00:06:03.926 --> 00:06:06.676 A:middle
When you install the Xcode 5
version of command line tools,
00:06:07.556 --> 00:06:10.426 A:middle
all you will have access
to is Subversion 1.7.
00:06:11.056 --> 00:06:15.606 A:middle
Subversion 1.7 cannot talk to
a Subversion 1.6 working copy
00:06:15.656 --> 00:06:19.266 A:middle
until you upgrade and vice
versa, 1.6 cannot talk
00:06:19.266 --> 00:06:20.596 A:middle
to a 1.7 working copy.
00:06:20.946 --> 00:06:23.386 A:middle
But like I said, this
is entirely client side
00:06:23.676 --> 00:06:25.606 A:middle
so you don't have to upgrade all
00:06:25.606 --> 00:06:27.936 A:middle
of your working copies
right now.
00:06:30.776 --> 00:06:33.326 A:middle
So moving onto this new
workspace Source Control.
00:06:36.296 --> 00:06:39.306 A:middle
There's three things that
that takes into account.
00:06:39.436 --> 00:06:41.506 A:middle
First is the new
accounts preference pane.
00:06:41.956 --> 00:06:44.196 A:middle
Instead of setting up a
repository on the organizer,
00:06:44.486 --> 00:06:48.026 A:middle
you can go to the accounts
preference pane and set up any
00:06:48.026 --> 00:06:50.196 A:middle
of your accounts that would
have login credentials
00:06:50.326 --> 00:06:51.366 A:middle
that Xcode will talk to.
00:06:52.146 --> 00:06:55.456 A:middle
And there's also the
new Source Control menu.
00:06:56.726 --> 00:07:00.476 A:middle
We've taken a lot of the
new features of Xcode 5
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:181083,LOCAL:00:00:00.000
00:06:56.726 --> 00:07:00.476 A:middle
We've taken a lot of the
new features of Xcode 5
00:07:00.546 --> 00:07:02.186 A:middle
and all the old ones
and put them
00:07:02.186 --> 00:07:03.556 A:middle
into a top level menu for you.
00:07:05.276 --> 00:07:08.506 A:middle
We've also got the
new checkout workflow.
00:07:09.036 --> 00:07:12.756 A:middle
And so let's talk about
the accounts preferences.
00:07:13.396 --> 00:07:17.416 A:middle
As I said this is the
single place for doing all
00:07:17.416 --> 00:07:18.486 A:middle
of your credential management.
00:07:19.226 --> 00:07:21.346 A:middle
You can set up Apple
IDs for setting
00:07:21.346 --> 00:07:22.716 A:middle
up provisioning of your devices.
00:07:23.936 --> 00:07:26.706 A:middle
You can also set up
Subversion servers and any
00:07:26.706 --> 00:07:31.216 A:middle
of the credentials used
for those, Git remotes
00:07:31.766 --> 00:07:36.366 A:middle
and OS X server accounts so
that you can get the OS X server
00:07:36.366 --> 00:07:37.306 A:middle
integration in Xcode.
00:07:37.306 --> 00:07:41.306 A:middle
Now let's talk about
the Source Control menu.
00:07:41.856 --> 00:07:44.456 A:middle
This is great because we've
taken all the working copies
00:07:44.456 --> 00:07:47.046 A:middle
that are part of your workspace
and put them at the top
00:07:47.046 --> 00:07:49.046 A:middle
of the menu because
we know you want
00:07:49.046 --> 00:07:52.586 A:middle
to know what Source Control
working copies you're using
00:07:52.586 --> 00:07:53.366 A:middle
in your project.
00:07:54.426 --> 00:07:58.336 A:middle
We've also added the ability to
show the current branch for each
00:07:58.336 --> 00:08:00.256 A:middle
of those working
copies right there
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:181083,LOCAL:00:00:00.000
00:07:58.336 --> 00:08:00.256 A:middle
of those working
copies right there
00:08:00.256 --> 00:08:02.466 A:middle
so you know what you
are committing to
00:08:02.466 --> 00:08:03.476 A:middle
and what you're building.
00:08:03.476 --> 00:08:09.096 A:middle
Under each of those
working copies is our branch
00:08:09.096 --> 00:08:09.996 A:middle
management tools.
00:08:10.536 --> 00:08:16.116 A:middle
You can also do on demand
upgrades here if you opted not
00:08:16.116 --> 00:08:17.406 A:middle
to upgrade on workspace open.
00:08:17.986 --> 00:08:23.866 A:middle
Then there's some of more
top level items like checkout
00:08:24.006 --> 00:08:30.876 A:middle
for getting new Source Code,
commit, push, pull and update
00:08:31.536 --> 00:08:35.816 A:middle
and a new workspace wide
history view which will take all
00:08:35.816 --> 00:08:39.846 A:middle
of the working copies in your
project, show you the logs all
00:08:39.846 --> 00:08:41.866 A:middle
in one list that
is also searchable.
00:08:41.866 --> 00:08:45.786 A:middle
So now let's talk
about Checkout.
00:08:47.066 --> 00:08:50.596 A:middle
As I said brand new look, a
lot easier to use as well.
00:08:51.436 --> 00:08:53.206 A:middle
But it's also a lot
more powerful.
00:08:54.506 --> 00:08:59.026 A:middle
We show recent projects that you
have open or checked out as well
00:08:59.026 --> 00:09:00.726 A:middle
as recent repositories
that you have checked
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:181083,LOCAL:00:00:00.000
00:08:59.026 --> 00:09:00.726 A:middle
as recent repositories
that you have checked
00:09:00.726 --> 00:09:02.016 A:middle
out from right there.
00:09:03.276 --> 00:09:04.776 A:middle
We also have favorites.
00:09:05.036 --> 00:09:10.836 A:middle
You can now star a repository or
project and have it always show
00:09:10.836 --> 00:09:12.196 A:middle
up under the favorites tab.
00:09:14.756 --> 00:09:17.706 A:middle
There's also the repositories
tab which will take all
00:09:17.706 --> 00:09:20.816 A:middle
of the repositories you have set
up in the accounts preferences
00:09:21.156 --> 00:09:25.036 A:middle
and list them here as well as
any repository that is hosted
00:09:25.036 --> 00:09:28.446 A:middle
on your OS X server using
its Git integration.
00:09:29.036 --> 00:09:35.786 A:middle
It will also show you browsing
a subversion repository
00:09:35.966 --> 00:09:36.846 A:middle
when necessary.
00:09:38.256 --> 00:09:41.396 A:middle
Xcode 5's checkout is way smart
00:09:41.466 --> 00:09:44.986 A:middle
so it actually does subversion
branch auto discovery.
00:09:45.496 --> 00:09:49.156 A:middle
So if you type in the
URL the Xcode can figure
00:09:49.156 --> 00:09:51.956 A:middle
out what you might be checking
out, whether it's a branch
00:09:51.996 --> 00:09:54.736 A:middle
or it knows that there's a
bunch of branches in there,
00:09:54.736 --> 00:09:56.646 A:middle
it will just show you
that, you don't even need
00:09:56.646 --> 00:09:57.806 A:middle
to browse your repository.
00:09:57.806 --> 00:10:00.496 A:middle
But if you put in a URL
that's a little ambiguous
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:181083,LOCAL:00:00:00.000
00:09:57.806 --> 00:10:00.496 A:middle
But if you put in a URL
that's a little ambiguous
00:10:00.956 --> 00:10:03.766 A:middle
such as sometimes if you have
a multiple projects hosted
00:10:03.766 --> 00:10:06.666 A:middle
in a single repository and
you just give it the root URL
00:10:06.666 --> 00:10:09.836 A:middle
to your repository, we can't
really tell exactly what you
00:10:09.836 --> 00:10:12.866 A:middle
wanted to checkout just yet so
it will allow you to browse.
00:10:13.386 --> 00:10:15.916 A:middle
Let's take a quick look
at this in the demo.
00:10:17.896 --> 00:10:21.986 A:middle
So we have here the
Welcome window Xcode 5.
00:10:22.726 --> 00:10:26.136 A:middle
First I wanted to show how to
easily create a new project
00:10:26.616 --> 00:10:29.136 A:middle
or a new repository
account in Xcode.
00:10:29.886 --> 00:10:32.646 A:middle
So I'm going to click the Xcode
menu and click preferences.
00:10:33.586 --> 00:10:36.516 A:middle
And we see here I already have
a number of repositories set
00:10:36.516 --> 00:10:38.256 A:middle
up as well as my OS X server.
00:10:39.086 --> 00:10:41.176 A:middle
But I'm going to add a new
repository so I'm going
00:10:41.176 --> 00:10:43.776 A:middle
to hit the plus button
and say add repository.
00:10:44.176 --> 00:10:47.096 A:middle
It's asking me for the
address, I have a snippet
00:10:47.296 --> 00:10:53.246 A:middle
that has a Git hub account in it
and so I'm going to click next.
00:10:53.366 --> 00:10:56.046 A:middle
And now Xcode is verifying my
credentials to this repository
00:10:56.366 --> 00:10:59.486 A:middle
and is now added as a repository
that I can checkout from.
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:181083,LOCAL:00:00:00.000
00:11:00.746 --> 00:11:02.796 A:middle
Now when I go back
to the Welcome window
00:11:02.906 --> 00:11:04.766 A:middle
and select checkout
an existing project,
00:11:05.356 --> 00:11:08.856 A:middle
we see that that repository
has now been added.
00:11:08.896 --> 00:11:13.026 A:middle
I can also star any of these
repositories and have them show
00:11:13.026 --> 00:11:14.086 A:middle
up in the favorite section.
00:11:15.326 --> 00:11:17.456 A:middle
For now, I'm going to
check out a copy of WebKit.
00:11:18.456 --> 00:11:20.476 A:middle
Now this is the root
URL to the repository
00:11:21.816 --> 00:11:24.486 A:middle
but since there's only one
project on here it was able
00:11:24.486 --> 00:11:27.606 A:middle
to automatically
discover the chunk folder,
00:11:27.606 --> 00:11:29.446 A:middle
the branches folder
and the tags folder
00:11:29.876 --> 00:11:32.476 A:middle
and just showed me the list of
branches I can checkout from.
00:11:33.416 --> 00:11:34.476 A:middle
So I want to check out chunk.
00:11:35.466 --> 00:11:39.876 A:middle
So I'm going to click next and
check that out to my desktop.
00:11:41.216 --> 00:11:43.766 A:middle
So now Xcode is checking
out that working copy
00:11:45.096 --> 00:11:49.886 A:middle
and when it's done it will
search through the Checkout
00:11:50.306 --> 00:11:52.916 A:middle
and find automatically
any Xcode projects
00:11:52.916 --> 00:11:54.626 A:middle
or workspaces and opens them.
00:11:54.896 --> 00:11:57.526 A:middle
If there are more than
one, it'll let you choose
00:11:57.526 --> 00:11:58.476 A:middle
which one you want to open.
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:181083,LOCAL:00:00:00.000
00:12:00.426 --> 00:12:03.376 A:middle
So since there's only one it
just showed me the workspace.
00:12:03.886 --> 00:12:04.856 A:middle
And now we can take a look
00:12:04.856 --> 00:12:07.106 A:middle
at the brand new Source
Control menu at the top here.
00:12:08.246 --> 00:12:11.786 A:middle
When I click Source Control
we see the one working copy
00:12:11.916 --> 00:12:14.836 A:middle
that is part of this workspace
and that I just checked
00:12:14.836 --> 00:12:17.346 A:middle
out chunk and so the
current branch is chunk.
00:12:18.656 --> 00:12:21.316 A:middle
All of our branching
operations such as new branch,
00:12:21.416 --> 00:12:25.336 A:middle
switching to branches, merging
branches are all in here.
00:12:25.996 --> 00:12:29.326 A:middle
You can also configure a couple
of options on a working copy.
00:12:29.646 --> 00:12:30.676 A:middle
I'll talk about that later.
00:12:32.216 --> 00:12:36.196 A:middle
There's also a way to get to
checkout from in here as well
00:12:36.196 --> 00:12:38.866 A:middle
as the workspace wide
operations like commit, push,
00:12:39.126 --> 00:12:40.896 A:middle
update, refreshing status.
00:12:41.546 --> 00:12:43.586 A:middle
You can discard all
of the changes and all
00:12:43.586 --> 00:12:46.656 A:middle
of the working copies in
your workspace using Xcode 5.
00:12:47.256 --> 00:12:51.466 A:middle
You can do file, specific
operations like adding,
00:12:51.526 --> 00:12:53.376 A:middle
discarding changes
in a specific file
00:12:53.376 --> 00:12:54.816 A:middle
or marking files
as resolved here.
00:12:55.486 --> 00:12:59.096 A:middle
Let's take a look at this
new history option now.
00:12:59.236 --> 00:13:02.726 A:middle
So I click that and Xcode has
now loaded all the history
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:181083,LOCAL:00:00:00.000
00:12:59.236 --> 00:13:02.726 A:middle
So I click that and Xcode has
now loaded all the history
00:13:02.726 --> 00:13:04.326 A:middle
for this workspace.
00:13:04.756 --> 00:13:07.086 A:middle
There's only one working
copy in this workspace
00:13:07.336 --> 00:13:09.696 A:middle
so this is a very simple
view of just that one.
00:13:09.896 --> 00:13:11.876 A:middle
Eric will show you a more
complex example later.
00:13:11.876 --> 00:13:13.826 A:middle
So you can scroll
through all these.
00:13:14.046 --> 00:13:16.806 A:middle
But I know that I have a
specific commit message
00:13:16.806 --> 00:13:17.616 A:middle
that I'm looking for.
00:13:17.976 --> 00:13:20.546 A:middle
So there's now a search
field up here at the top.
00:13:20.546 --> 00:13:22.476 A:middle
I'm curious about
searching for stuff